hollow,欢迎来到爱不绝迹的博客园!

sql 整理积累

1 SELECT * from (SELECT * FROM dbo.xcqy2017_Article WHERE Kind=53) AS t1 
2 LEFT JOIN (SELECT * FROM dbo.xcqy2017_News_Classification) AS t2 ON t2.Ncid = t1.Ncid
left join左链接 以左表为主表
1 SELECT * from (SELECT * FROM dbo.xcqy2017_Article WHERE Kind=53) AS t1 
2 RIGHT JOIN (SELECT * FROM dbo.xcqy2017_News_Classification) AS t2 ON t2.Ncid = t1.Ncid
right join右链接 以右表为主表
1 SELECT 
2     CASE 
3         WHEN Kind = 53 THEN '新闻动态' 
4         WHEN Kind = 53 THEN '新闻动态'
5     ELSE '其他' 
6     END '新闻动态1'
7 ,* FROM dbo.xcqy2017_Article 
CASE WHEN THEN ELSE END条件查询

 

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

UNION运算符 默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SELECT Aid,Alive,Layer FROM dbo.xcqy2017_Article UNION SELECT Ncid,Alive,Layer FROM dbo.xcqy2017_News_Classification 

UNION ALL运算符 UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。 

SELECT Aid,Alive,Layer FROM dbo.xcqy2017_Article UNION ALL SELECT Ncid,Alive,Layer FROM dbo.xcqy2017_News_Classification 

 

EXCEPT运算符 EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行(不知道能不能行,因为版本问题,测试未成功)。

SELECT Ncid FROM dbo.xcqy2017_Article EXCEPT SELECT Ncid FROM dbo.xcqy2017_News_Classification

 

列出表里的所有的字段

select name from syscolumns where id=object_id('xcqy2017_Article') 

 

NEWID()随机id排序

SELECT * FROM dbo.xcqy2017_Article ORDER BY NEWID()

  

 

posted @ 2017-09-07 17:09  爱不绝迹  阅读(1302)  评论(0编辑  收藏  举报