主题:[讨论]還是SQL語句
			 GEORGECHIN
				 [专家分:440]  发布于 2009-11-21 14:46:00
 GEORGECHIN
				 [专家分:440]  发布于 2009-11-21 14:46:00							
			下面一句SQL,其中的 EXISTS  不懂 請解疑
SELE COMMPANY FROM CUST A WHERE [color=FF0000]EXISTS[/color](SELE * FROM ORDERS B WHERE A.POSTCODE==B.POSTCODE)
						
					 
		
			
回复列表 (共6个回复)
		
								
				沙发
				
					 Vii [专家分:1130]  发布于 2009-11-21 15:09:00
Vii [专家分:1130]  发布于 2009-11-21 15:09:00				
				包含.
就是查询CUST.POSTCODE=ORDERS.POSTCODE
							 
						
				板凳
				
					 GEORGECHIN [专家分:440]  发布于 2009-11-21 15:23:00
GEORGECHIN [专家分:440]  发布于 2009-11-21 15:23:00				
				[quote]包含.
就是查询CUST.POSTCODE=ORDERS.POSTCODE[/quote]
那和以下這一句是不是等同:
SELE CUST.COMMPANY FROM CUST INNER JOIN ORDERS ON CUST.POSTCODE==ORDERS.POSTCODE
							 
						
				3 楼
				
					 hfrlzyb [专家分:70]  发布于 2009-11-21 16:20:00
hfrlzyb [专家分:70]  发布于 2009-11-21 16:20:00				
				SELE COMMPANY FROM CUST A WHERE EXISTS(SELE * FROM ORDERS B WHERE A.POSTCODE==B.POSTCODE)
包含的意思,相当于
select commpany from cust where postcode in (select postcode from orders)
很简单的一句不知为何写的如此深奥。
							 
						
				4 楼
				
					 GEORGECHIN [专家分:440]  发布于 2009-11-21 17:35:00
GEORGECHIN [专家分:440]  发布于 2009-11-21 17:35:00				
				WHERE 子句中的IN和EXIST有何區別?
							 
						
				5 楼
				
					 Vii [专家分:1130]  发布于 2009-11-21 21:57:00
Vii [专家分:1130]  发布于 2009-11-21 21:57:00				
				传说中EXISTS比IN的速度快.....
还有就是查询多条件重复(或者不重复)记录时间EXISTS比较方便吧.
WHERE条件可以多个,SELECT * FROM TABLENAME A EXISTS (SELECT 1 FROM TABLENAME B A.X=B.Y AND A.C=B.D ...)
							 
						
				6 楼
				
					 cbl518 [专家分:57140]  发布于 2009-11-21 22:13:00
cbl518 [专家分:57140]  发布于 2009-11-21 22:13:00				
				EXISTS
是
in
的一种特殊形式,EXISTS 关键字的子查询,唯一允许带 * 的通配符!
从速度上来讲,EXISTS 比 in 慢的多!
							 
									
			
我来回复