PS:本æ¥è§‰å¾—ç–¯æµæˆæ€§è¿™ä¸ªåå—ä¸é›…,ä¸è¿‡æœ€˜q‘è¶Šæ¥è¶Šå‘觉˜q™ä¸ªåå—æœ‰æ€§æ ¼åQŒæ‰€ä»¥è¿˜æ˜¯æ”¹å›žæ¥äº†ã€?
1ã€‚ä»€ä¹ˆæ˜¯åæŸ¥è¯¢ï¼Ÿ
ž®†ä¸€ä¸ªæŸ¥è¯¢åŒ…å«åˆ°å¦ä¸€ä¸ªæŸ¥è¯¢ä¸ã€?BR>2。工作原ç†ï¼Ÿ
åæŸ¥è¯¢æ˜¯ç‰µå¥—在å¦ä¸€ä¸ªselectè¯å¥ä¸çš„selectè¯å¥ã€‚内部selectè¯å¥˜q”回用作于外部selectè¯å¥çš„æ¡ä»¶çš„åˆ—ã€‚é¦–å…ˆä»Žæœ€å†…éƒ¨çš„select开始执行ã€?BR>
3。在大多数查询ä¸åQŒå查询òq¶ä¸å¼•ç”¨çˆ¶æŸ¥è¯¢ã€‚å› æ¤å查询ä¸çš„å€ég¿æŒä¸å˜ã€‚例如:
//MSSQL
//通过IN OR NOT INå¼•å…¥çš„åæŸ¥è¯¢¾l“æžœ
//是一列零值或更多å€?BR>//把(titlesåQ‰å查询里结果作ä¸?BR>//(publicshers)父查询的æ¡äšg˜q›è¡ŒæŸ¥è¯¢
USE PUBS
SELECT PUB_NAME TITLE
FROM PUBLICSHERS
WHERE PUB_ID IN(
SELECT PUB_ID FROM TITLES
WHERE TYPE = 'BUSSINESS')
å¦‚æžœåæŸ¥è¯¢å¼•用了父查询,ž®±éœ€è¦äؓ父查询ä¸çš„æ¯‹Æ¡è„P代釿–°è®¡½Ž—åæŸ¥è¯¢çš„倹{€?BR>
//åæŸ¥è¯¢ä¸ç”¨åˆ°äº†çˆ¶æŸ¥è¯¢çš„å€?BR>//åœ¨æœ‰å¤§é‡æ•°æ®çš„æ—¶å€™å°½é‡é¿å…ä‹É用椾cÀLŸ¥è¯?BR>//它查询数æ®å¯æ˜¯æˆæŒ‡æ•°å¢žé•¿çš?BR>USE PUBS
SELECT A.CITY FROM SUPPLIERS A
WHERE A.SUPPLIERID IN (
SELECT B.SUPPLIERID FROM PRODUCTS B
WHERE A.SUPPLIERID = B.SUPPLIERID)
4。我è¦è¯´ä¸€ä¸‹è”æŽ¥å’ŒåæŸ¥è¯¢çš„区别
è”æŽ¥ä¸ŽåæŸ¥è¯¢å¤„熾cÖM¼¼é—®é¢˜ä¸åŒä¹‹å¤„在于åQŒè”接å¯ä»¥åœ¨¾l“æžœé›†ä¸æ˜„¡¤ºå¤šä¸ªè¡¨çš„列ã€?BR> 匙”接就是查询包å«äº†åŒ™¾¹è¡¨çš„全部记录åQŒå³ä½¿å·¦è¾¹è¡¨ä¸æ²¡æœ‰åŒ¹é…的倹{€?BR> å·¦è”å’Œå³è”æ£å¥½ç›¸å?BR>
//å†…è”æŽ?BR>USE PUBS
SELECT A.PUB_NAME, A.TITLE
FROM PUBLISHERS A INNER JOIN TITLES B
ON A.PUB_ID = B.PUB_ID
AND TYPE = 'BUSSINESS')
5。关于ä‹É用EXISTS AND NOT EXISTSçš„åæŸ¥è¯¢
使用EXISTSå¼•å…¥ä¸€ä¸ªåæŸ¥è¯¢åQŒå°±ç›¸å½“于进行一‹Æ¡å˜åœ¨çš„‹¹‹è¯•åQŒå¤–部查询的WHEREå奋¹‹è¯•åæŸ¥è¯?BR>˜q”回的行是å¦å˜åœ¨ã€‚åæŸ¥è¯¢ä¸äñ”生ä“Q何结果;它媘q”回TRUE或FALSE倹{€?BR>
//查找å˜åœ¨å•†ä¸šä¹¦ç±çš„出版商的åå?BR>//和内è”对比下有什么ä¸å?BR>USE PUBS
SELECT A.PUB_NAME
FROM PUBLISHERS A
WHERE EXISTS (
SELECT *FROM TITLES
WHERE PUB_ID = A.PUB_ID
AND TYPE = 'BUSSINESS')
//åæŸ¥è¯?冿¬¡å¯Òޝ”ä¸?BR>USE PUBS
SELECT PUB_NAME
FROM PUBLISHERS
WHERE PUB_ID IN (
SELECT PUB_ID FROM TITLES
WHERE TYPE = 'BUSSINESS')
通过‹¹‹è¯•我猜想EXISTS关键å—å®ƒçš„å·¥ä½œåŽŸç†æ˜¯åQšé历所有的记录åQŒæ¯é历一æ¡è®°å½•ï¼ŒåæŸ¥è¯¢å°±åˆ¤æ–是å¦å˜åœ¨åQŒå˜åœ¨çš„è¯æ»¡‘Ïx¡ä»¶æ˜¾½Cø™¿™æ¡è®°å½•,然åŽä¸€ç›´æ‰¾åˆ°æœ€åŽæ¡è®°å½•。(如果有ä¸å¯¹çš„åœ°æ–¹æˆ–è€…éœ€è¦æ”¹˜q›çš„地方åQŒè¯·å¤§å®¶è¦å‘Šè¯‰æˆ‘啊)
今天ž®±åˆ°˜q™é‡ŒæŠŠï¼Œè±¡æˆ‘˜q™ä¹ˆç‰›çš„íw«ä½“也ç»ä¸è“v¾l常熬夜+_+!ã€?BR>

]]>