Thread View: cn.bbs.comp.database
1 messages
1 total messages
Started by Galaxy��VOLUNTEERS��Database
Tue, 17 Nov 2009 10:07
INTERSECT/EXCEPT VS. IN/NOT IN
Author: Galaxy��VOLUNTEERS��Database
Date: Tue, 17 Nov 2009 10:07
Date: Tue, 17 Nov 2009 10:07
70 lines
3387 bytes
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
[m[1;33m�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 207.46.55.31][m
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads