🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.database
Article #203

INTERSECT/EXCEPT VS. IN/NOT IN

#203
From: Galaxy��VOLUNTEERS��Database
Date: Tue, 17 Nov 2009 10:07
70 lines
3387 bytes
������OLD��������Ȼ�ǵ���ǰ�϶�������INTERSECT/EXCEPT�������ؼ��֣�ǰ���û���
��ĽOracle��+/-���ϲ������SQL Server��ô��Ȼû�С��������������ѹֵ���΢����
�Ե�ʱ�����Թٸ���������˽�һ��SQL Server 2005�µĺ����

���淭��һ��http://www.sqlstuff.dk/post/intersect-except-versus-in-not-in.asp
x����INTERSECT/EXCEPT��IN/NOT IN���бȽϡ�

SQL Server���������õģ������ҵ�������֮�乲��������еĺ���EXCEPT��INTERSE
CT��EXCEPT�������ڵ�һ��������ڵڶ�������У���INTERSECT���ص�һ���͵ڶ���
��Ľ����������ǵ�������Σ�

ʵ��������ҷ����Һ����л��Ƚ�����ӵ����ȫ��ͬ����еı?��ż��Ҳ��������
���󡣣��ѵ������������ֻ�����ԺͿ��������ó��������������Ǵ��������£�
��Щ�ж����������������������һ���Լ�ֻ��IN��NOT IN��

Ϊ�˲��ԣ��ҽ������������Ա?
DECLARE @I INT 
SET @I = 0 

WHILE @I < 10000 BEGIN 
 IF @I % 5 <> 0 
  INSERT INTO Table1 VALUES (@I, REPLICATE('A', 10)) 
 IF @I % 4 <> 0 INSERT 
  INTO Table2 VALUES (@I, REPLICATE('A', 10)) 
 SET @I = @I + 1 
END   

��û�н�������
��������Ҫ��ѯ���ڱ�1�����ڱ�2���С�������֪��ID��һ��Ψһ��unique key����
��ֻ����NOT IN��

SELECT * 
FROM Table1 
WHERE ID NOT IN ( 
 SELECT ID FROM Table2 
) 
GO 

SELECT * FROM Table1 
EXCEPT 
SELECT * FROM Table2 
GO   

�������˶�֪���϶�NOT INЧ�ʲ�ġ����ʲ����23% vs. 77%��3.3�����ҡ�

����Ҳ�����Ҫȷ��ID������Ҫȷ��VALUE����ѯ������£�
SELECT * 
FROM Table1 
WHERE ID NOT IN ( 
 SELECT ID FROM Table2 
) 
OR [Value] NOT IN ( 
 SELECT [Value] FROM Table2 
) 
GO 

SELECT * FROM Table1 
EXCEPT 
SELECT * FROM Table2 
GO   

�����һ������22% vs. 78%��

INTERSECT�Ľ��Ҳ��ͬС�졣
--
Welcome to Database Board
��ӭ������ݿ��
http://bbs.sjtu.edu.cn/bbsdoc?board=database

�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 207.46.55.31]
Technical Details
Message-ID: <4j3BFB$bCf@bbs.sjtu.edu.cn>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!feeder.erje.net!news.byr.edu.cn!news.shec6.edu.cn!SJTU

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!feeder.erje.net!news.byr.edu.cn!news.shec6.edu.cn!SJTU
From: Dem.bbs@bbs.sjtu.edu.cn (Galaxy��VOLUNTEERS��Database)
Newsgroups: cn.bbs.comp.database
Subject: INTERSECT/EXCEPT VS. IN/NOT IN
Date: 17 Nov 2009 10:07:29 GMT
Organization: ��ˮ˼Դ
Message-ID: <4j3BFB$bCf@bbs.sjtu.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: database/M.1258452443.A