select 和set在賦值的區別
set語句一次只能爲一個變量賦值。而select可以在一個語句中爲多個變量賦值
示例參考T-SQL Query P451
CET在根據一個表的數據修改另一個表的數據時很方便
刪除數據
truncate和delete
如果從表中移除所有行應該使用truncate table 而不是帶有where子句的delete.
具體原因參見T-SQL Query P435
三種插入數據的寫法
select into 作爲一個bulk操作不從查的源複製約束.索引.觸發器
insert into <target_table> {<proc_name>|(<dynamic_batch>)} 把存儲過程或
動態處理返回的結果集直接保存到現有表中參見T-SQL Query P419
insert into values()
刪除重複數據行的做法,重複數據行分三種情況:
1.幾條記錄的部分字段重複
2.幾條記錄完全重複
3.大數據完全重複
參見T-SQL Query P437
關於and 和 or 的使用區別參見T-SQL Query P408
in 和exists的使用區別參考T-SQL Query P119-p201
over查詢代替子查詢的功能 參考T-SQL Query P317
生成行號中使用row_number()over(partition by field_1 order by field_2) as alias_name
服務器段計算行號的不同方法參考T-SQL Query P237
索引建立的準則
分區列.排序列.附加屬性,爲了使索引覆蓋更過的列,使用查詢中的其他性列作爲包含性列(included colum)
included列搜索時不會佔用內存
代碼中使用N前綴,標誌其後的字符串常量爲Unicode類型。如果不使用前綴,字符串將轉換爲數據庫的默認代碼頁。這兒能導致系統不識別某些字符
以.ndf結尾的次數據文件(Secondary Data File),主要作用是當主數據文件數據量很大時,可以使用此數據文件存儲一部分數據,次數據文件可以存放在其他磁盤中
.創建表之後的 on primary 表明表是primary文件組上面,此‘文件組'一般用於分區表的情況下,會創建多個'文件組'每個分區使用不同的'文件組'