£¨2£©²éѯÃû³ÆÎª¡°¼ÒµçÊг¡¡±µÄ¿Í»§ÔÚ2004Äê3ÔÂ18ÈÕ¹ºÂòµÄ²úÆ·Ãû³ÆºÍÊýÁ¿¡£
SQL±ê×¼Óï¾ä£º
SELECT CP.²úÆ·Ãû³Æ,CPXSB.ÊýÁ¿ FROM XSS,CPXSB,CP
WHERE XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ AND CPXSB.²úÆ·±àºÅ=CP.²úÆ·±àºÅ AND XSS.¿Í»§Ãû³Æ='¼ÒµçÊг¡' AND CPXSB.ÏúÊÛÈÕÆÚ='2004-03-18'
T-SQLÀ©Õ¹Óï¾ä£º
SELECT CP.²úÆ·Ãû³Æ,CPXSB.ÊýÁ¿ FROM XSS INNER JOIN CPXSB ON XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ AND XSS.¿Í»§Ãû³Æ='¼ÒµçÊг¡' INNER JOIN CP
ON CPXSB.²úÆ·±àºÅ=CP.²úÆ·±àºÅ AND CPXSB.ÏúÊÛÈÕÆÚ='2004-03-18'
½ØÍ¼ÈçÏ£º
2¡¢ÍâÁ¬½Ó
£¨1£©²éÕÒËùÓвúÆ·Çé¿ö¼°ÏúÊÛËûÃǵÄÏúÊÛÈÕÆÚ¡¢¹ºÂòËûÃǵĿͻ§±àºÅºÍÊýÁ¿£¬Èô²úƷûÓÐÏúÊۼǼ£¬Ò²Òª°üÀ¨ÆäÇé¿ö¡£
SELECT CP.*,CPXSB.¿Í»§±àºÅ,ÏúÊÛÈÕÆÚ,ÊýÁ¿ FROM CP LEFT OUTER JOIN CPXSB ON CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ
½ØÍ¼ÈçÏ£º
£¨2£©²éÕÒËùÓйºÂòÇé¿ö£¬Èô¿Í»§Ã»ÓйºÂò²úÆ·£¬Ò²Òª°üÀ¨ÆäÇé¿ö¡£
SELECT XSS.¿Í»§±àºÅ,CPXSB.²úÆ·±àºÅ,ÏúÊÛÈÕÆÚ,ÊýÁ¿,ÏúÊÛ¶î,CP.²úÆ·Ãû³Æ FROM XSS LEFT OUTER JOIN CPXSB ON XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ LEFT OUTER JOIN CP
ON CPXSB.²úÆ·±àºÅ=CP.²úÆ·±àºÅ
½ØÍ¼ÈçÏ£º
ËÄ¡¢ÊÔÑéÐĵÃ
ͨ¹ý±¾´Î¿Î³ÌµÄѧϰÓëÊÔÑ飬ѧ»áÁËʹÓÃSQL±ê×¼Óï¾äºÍT-SQLÀ©Õ¹Óï¾ä½øÐбíµÄÁ¬½Ó²éѯ¡£¸Õ¿ªÊ¼µÄʱºòÓÉÓÚ·Ö²»ÇåSQL±ê×¼Óï¾äºÍT-SQLÀ©Õ¹Óï¾äµÄÇø±ð£¬µ¼ÖÂÊÔÑéºÜÄѳɹ¦£¬µ«ÊÇͨ¹ýÏòͬѧºÍÀÏʦµÄÇë½ÌÖ®ºó£¬ÅªÇå³þÁ˶þÕßµÄÇø±ð£¬Ö®ºó×öÆðÊÔÑéÀ´¾Í¾õµÃͦÈÝÒ×ÁË¡£
ÊÔÑéÎå ǶÌײéѯ
Ò»¡¢ÊÔÑéÄ¿µÄÓëÒªÇó
1¡¢ÊìÁ·ÕÆÎÕIN×Ó²éѯ¡£
2¡¢ÊìÁ·ÕÆÎձȽÏ×Ó²éѯ£¨ÓÈÆäҪעÒâANY¡¢ALLν´ÊÈçºÎÓü¯º¯Êý´úÌæ£©¡£ 3¡¢ÊìÏ¤ÕÆÎÕEXISTS×Ó²éѯ£¨ÓÈÆäҪעÒâÈçºÎ½«È«³ÆÁ¿´ÊºÍÂß¼Ô̺¬ÓÃEXISTSν´Ê´úÌæ£©¡£
¶þ¡¢ÊÔÑéÄÚÈÝ
¶ÔCPXSÊý¾Ý¿â£¬Íê³ÉÈçÏÂǶÌײéѯ£º
1¡¢²éѯÔÚ2004Äê3ÔÂ18ÈÕûÓÐÏúÊ۵IJúÆ·Ãû³Æ£¨²»ÔÊÐíÖØ¸´£©¡££¨Ê¹ÓÃIN×Ó²éѯÓëEXISTS×Ó²éѯ£©
2¡¢²éѯÃû³ÆÎª¡°¼ÒµçÊг¡¡±µÄ¿Í»§ÔÚ2004Äê3ÔÂ18ÈÕ¹ºÂòµÄ²úÆ·Ãû³Æ¡££¨Ê¹ÓÃIN×Ó²éѯÓëEXISTS×Ó²éѯ£©
3¡¢²éѯÏúÊÛÁ¿´óÓÚËùÓÐ2004Äê3ÔÂ18ÈÕÏúÊ۵ĸ÷²úÆ·ÏúÊÛÊýÁ¿µÄ²úÆ·±àºÅ¡££¨Ê¹ÓÃALLν´ÊÓ뼯º¯Êý£©
4¡¢²éѯ¹ºÂòÁËËùÓвúÆ·µÄ¿Í»§µÄÃû³Æ¡£
5¡¢²éѯ¹ºÂòÁ˿ͻ§±àºÅΪ¡°000001¡±µÄ¿Í»§¹ºÂòµÄËùÓвúÆ·µÄ¿Í»§µÄÃû³Æ¡£
Èý¡¢ÊÔÑé²½Öè
1¡¢²éѯÔÚ2004Äê3ÔÂ18ÈÕûÓÐÏúÊ۵IJúÆ·Ãû³Æ£¨²»ÔÊÐíÖØ¸´£©¡££¨Ê¹ÓÃIN×Ó²éѯÓëEXISTS×Ó²éѯ£©¡£
ÓÃIN×Ó²éѯ£º
SELECT CP.²úÆ·Ãû³Æ FROM CP
WHERE ²úÆ·±àºÅ IN
(SELECT ²úÆ·±àºÅ FROM CPXSB
WHERE ÏúÊÛÈÕÆÚ!= '2004-03-18')
ÓÃEXISTS×Ó²éѯ£º
SELECT CP.²úÆ·Ãû³Æ FROM CP WHERE EXISTS
(SELECT * FROM CPXSB
WHERE CP.²úÆ·±àºÅ= CPXSB.²úÆ·±àºÅ AND ÏúÊÛÈÕÆÚ!= '2004-03-18')
½ØÍ¼ÈçÏ£º
2¡¢²éѯÃû³ÆÎª¡°¼ÒµçÊг¡¡±µÄ¿Í»§ÔÚ2004Äê3ÔÂ18ÈÕ¹ºÂòµÄ²úÆ·Ãû³Æ¡££¨Ê¹ÓÃIN×Ó²éѯÓëEXISTS×Ó²éѯ£©¡£
ÓÃIN×Ó²éѯ£º
SELECT CP.²úÆ·Ãû³Æ FROM CP
WHERE ²úÆ·±àºÅIN
(SELECT ²úÆ·±àºÅ FROM CPXSB WHERE ¿Í»§±àºÅIN
(SELECT ¿Í»§±àºÅ FROM XSS
WHERE ¿Í»§Ãû³Æ= '¼ÒµçÊг¡' )
AND ÏúÊÛÈÕÆÚ= '2004-03-18' )
ÓÃEXISTS×Ó²éѯ£º
SELECT CP.²úÆ·Ãû³Æ FROM CP
WHERE EXISTS
(SELECT * FROM CPXSB
WHERE CP.²úÆ·±àºÅ = CPXSB.²úÆ·±àºÅ AND ÏúÊÛÈÕÆÚ = '2004-03-18' AND EXISTS (SELECT * )
FROM XSS
WHERE CPXSB.¿Í»§±àºÅ= XSS.¿Í»§±àºÅ AND ¿Í»§Ãû³Æ= '¼ÒµçÊг¡')
½ØÍ¼ÈçÏ£º
3¡¢²éѯÏúÊÛÁ¿´óÓÚËùÓÐ2004Äê3ÔÂ18ÈÕÏúÊ۵ĸ÷²úÆ·ÏúÊÛÊýÁ¿µÄ²úÆ·±àºÅ¡££¨Ê¹ÓÃALLν´ÊÓ뼯º¯Êý£©¡£
ÓÃALLν´Ê£º
SELECT ²úÆ·±àºÅ FROM CPXSB WHERE ÊýÁ¿> ALL
(SELECT SUM(ÊýÁ¿) FROM CPXSB
WHERE ÏúÊÛÈÕÆÚ= '2004-03-18' GROUP BY ²úÆ·±àºÅ)
Óü¯º¯Êý£º
SELECT ²úÆ·±àºÅ FROM CPXSB WHERE ÊýÁ¿>
(SELECT MAX(ÊýÁ¿) FROM CPXSB