偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL Server 2005 EXCEPT與INTERSECT的區(qū)別

數據庫 SQL Server
我們今天主要向大家描述的是SQL Server 2005 EXCEPT與INTERSECT運算符的正確使用以及對其實際操作的不同之處的講述。

此文章主要向大家描述的是SQL Server 2005 EXCEPT與INTERSECT運算符的正確使用,同時本文也有對EXCEPT與INTERSECT運算符的實際應用的比較,以及對其在實際操作中值得我們大家注意的相關事項的描述。

1.簡介

 

SQL Server 2005 EXCEPT和INTERSECT運算符使您可以比較兩個或多個SELECT語句的結果并返回非重復值。

2.區(qū)別

EXCEPT運算符返回由EXCEPT運算符左側的查詢返回、而又不包含在右側查詢所返回的值中的所有非重復值。

INTERSECT返回由INTERSECT運算符左側和右側的查詢都返回的所有非重復值。

3.注意事項

(1).使用SQL Server 2005 EXCEPT或INTERSECT比較的結果集必須具有相同的結構。它們的列數必須相同,并且相應的結果集列的數據類型必須兼容

(2).INTERSECT運算符優(yōu)先于EXCEPT

(3).SELECT INTO必須是包含INTERSECT或EXCEPT運算符的語句中的***個查詢,用來創(chuàng)建容納最終結果集的表

(4).ORDER BY子句中的列名或別名必須引用左側查詢返回的列名

4.例題:

建立3個表,分別插入數據

  1. create table TableA(col1 int)   
  2. insert into TableA select 1   
  3. insert into TableA select 1   
  4. insert into TableA select 2   
  5. insert into TableA select 3   
  6. insert into TableA select 4   
  7. insert into TableA select 4   
  8. insert into TableA select 5   
  9. insert into TableA select null   
  10. insert into TableA select null   
  11. create table TableB(col2 int)   
  12. insert into TableB select null   
  13. insert into TableB select 1   
  14. insert into TableB select 2   
  15. insert into TableB select 3   
  16. create table TableC(col3 int)   
  17. insert into TableC select 1   
  18. insert into TableC select 5   
  19. insert into TableC select 6  

利用SQL Server 2005 EXCEPT

找出TableA表的col1列不存在Tablec表col1列的所有非重復值

  1. SELECT col1 FROM TableA   
  2. EXCEPT   
  3. SELECT col3 FROM Tablec  

結果如下:

  1. col1   
  2. -   
  3. NULL   
  4. 2   
  5. 3   
  6. 4   

sql 2000的版本,用not exists實現SQL Server 2005 EXCEPT的功能

  1. SELECT col1   
  2. FROM TableA as a   
  3. where not exists(SELECT col3 FROM Tablec where a.col1=col3)   
  4. group by col1  

sql 2000,not in是得不到上述結果的

空值表示值未知。空值不同于空白或零值。沒有兩個相等的空值。

比較兩個空值或將空值與任何其他值相比均返回未知,這是因為每個空值均為未知。

使用IN或NOT IN比較后返回的所有空值都將返回UNKNOWN。

將空值與IN或NOT IN一起使用會產生意外結果。

  1. SELECT col1   
  2. FROM TableA   
  3. where col1 not in(SELECT col3 FROM Tablec)   
  4. group by col1  

結果如下:

  1. col1   
  2. -   
  3. 2   
  4. 3   
  5. 4   

INTERSECT運算符優(yōu)先于EXCEPT

運算步驟是:先運算TableB和TableC的INTERSECT,再和TableA運算SQL Server 2005 EXCEPT

  1. SELECT col1 FROM TableA   
  2. EXCEPT   
  3. SELECT col2 FROM TableB   
  4. INTERSECT   
  5. SELECT col3 FROM TableC  

結果如下:

  1. col1   
  2. -   
  3. NULL   
  4. 2   
  5. 3   
  6. 4   
  7. 5   

SELECT INTO的應用

SELECT INTO必須是語句中的***個查詢

我記得SELECT INTO與UNION運算符的使用也是這樣的規(guī)則

  1. SELECT col1   
  2. into #tem   
  3. FROM TableA   
  4. EXCEPT   
  5. SELECT col3   
  6. FROM Tablec   
  7. select * from #tem   
  8. drop table #tem 

結果如下:

  1. col1   
  2. -   
  3. NULL   
  4. 2   
  5. 3   
  6. 4   

ORDER BY子句

ORDER BY子句中的列名或別名必須引用左側查詢返回的列名

  1. SELECT col1 FROM TableA   
  2. INTERSECT   
  3. SELECT col3 FROM TableC   
  4. order by col1  

結果如下:

  1. col1   
  2. -   
  3. 1   
  4. 5   

 

上述的相關內容就是對SQL Server 2005中EXCEPT和INTERSECT運算符的使用的描述,希望會給你帶來一些幫助在此方面。

【編輯推薦】

  1. SQL Server identity列,美中不足之處
  2. SQL Server DateTime數據類型的另類解讀
  3. SQL Server 2000的安全策略的正確打造
  4. SQL Server 數據導入的實際行為規(guī)范描述
  5. MS SQL Server問題與其正確解答方案

 

責任編輯:佚名 來源: CNW
相關推薦

2010-07-06 10:36:35

SQL Server

2011-04-18 13:02:08

SQL Server SQL Server

2011-07-06 13:09:11

SQL Server

2010-07-26 17:43:34

SQL Server

2010-06-17 15:09:49

SQL Server

2011-02-28 17:41:20

SQL Server

2010-07-14 17:32:53

SQL Server

2010-07-23 12:55:29

SQL Server

2011-09-07 15:11:31

SQL Server同步

2025-01-13 07:30:00

SQL開發(fā)組合查詢

2010-07-09 11:06:13

SQL Server

2010-06-28 13:51:18

SQL Server

2010-10-21 15:13:20

SQL Server系

2010-06-30 08:34:27

SQL Server

2011-03-29 15:27:26

SQL Server 動態(tài)管理

2010-06-28 14:49:51

SQL Server

2010-07-16 11:30:06

SQL Server

2010-07-16 10:35:19

SQL Server

2011-09-01 16:13:37

Visual StudSQL Server 存儲過程

2011-03-25 10:04:51

點贊
收藏

51CTO技術棧公眾號