1. 程式人生 > >sql 整理積累

sql 整理積累

nio order 允許 obj 查詢 eight 所有 問題 name

技術分享
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()

  

sql 整理積累