激情欧美日韩一区二区|国产18在线播放|黄的日本免费大片|国产色在线 | 亚洲|青青操夜夜操

常用數(shù)據(jù)庫(kù)語(yǔ)句總結(jié)

歡歡歡歡 發(fā)表于 2019-4-27 17:58

join更新:

update A set A_NAME = B.B_NAME from {Table1} A left join {Table2} B ON A.B_ID = B.B_ID

join可以是left join可以是inner join也可以是right join,不同的join更新的數(shù)據(jù)大不相同,使用時(shí)注意區(qū)分!

同理刪除也可以join:

delete {Table1} from {Table1} a inner join {Table2} b on a.{field1} = b.{field1} and a.{field2} = b.{field2}

聯(lián)表更新:

update {Table1} set {field}=t2.{field} from {Table1} t1,{Table2} t2 where t1.ID=@T1ID and t2.ID=@T2ID

新增表字段:

alter table [Table] add [Column] varchar(50) null

同理,修改表字段屬性:

alter table [表格名稱] alter column [字段名稱] [字段類型]

同理,刪除表字段:

alter table [表名稱] drop column [列名]

修改表字段名稱和上面的很不一樣:

exec sp_rename '[表格名稱].[列名]','[修改后列名]'

Exists的使用:

select * from {Table} a where {Column}={Value} and not exists(select 1 from {Table2} where {Column2} = a.{Column2})

Exists只有當(dāng)聯(lián)表查詢的時(shí)候才能體現(xiàn)出它的威力

時(shí)間函數(shù):

DATEADD(mm,-1,getdate())  在已有時(shí)間上加減 指定的(日,月,小時(shí)等)數(shù),返回新的時(shí)間

DATEDIFF(day,getdate(),'2008.10.28')  計(jì)算兩個(gè)時(shí)間的差值,返回的是數(shù)字

上述兩個(gè)函數(shù)的第一個(gè)參數(shù)是一個(gè)枚舉,參考(datepart):摸這里;這兩個(gè)函數(shù)使用同一個(gè)枚舉。

分區(qū)排序:

select Row_Number() Over(Partition by {Field1} Order by {Field2} desc) RN,* from {Table1}

Stuff與Group by結(jié)合使用:

SELECT id, data=STUFF((SELECT ','+[values] FROM {Table} t WHERE id=t1.id FOR XML PATH('')), 1, 1, '') FROM {Table} t1 GROUP BY id