SQLÓï¾äµÄMINUS,INTERSECTºÍUNION ALL
SQLÓï¾äÖеÄÈý¸ö¹Ø¼ü×Ö:MINUS(¼õÈ¥),INTERSECT(½»¼¯)ºÍUNION ALL(²¢¼¯);
¹ØÓÚ¼¯ºÏµÄ¸ÅÄî,ÖÐѧ¶¼Ó¦¸Ãѧ¹ý,¾Í²»¶à˵ÁË.ÕâÈý¸ö¹Ø¼ü×ÖÖ÷ÒªÊǶÔÊý¾Ý¿âµÄ²éѯ½á¹û½øÐвÙ×÷,ÕýÈçÆäÖÐÎĺ¬ÒåÒ»Ñù:Á½¸ö²éѯ,MINUSÊÇ´ÓµÚÒ»¸ö²éѯ½á¹û¼õÈ¥µÚ¶þ¸ö²éѯ½á¹û,Èç¹ûÓÐÏཻ²¿·Ö¾Í¼õÈ¥Ïཻ²¿·Ö;·ñÔòºÍµÚÒ»¸ö²éѯ½á¹ûûÓÐÇø±ð. INTERSECTÊÇÁ½¸ö²éѯ½á¹ûµÄ½»¼¯,UNION ALLÊÇÁ½¸ö²éѯµÄ²¢¼¯;
ËäȻͬÑùµÄ¹¦ÄÜ¿ÉÒÔÓüòµ¥SQLÓï¾äÀ´ÊµÏÖ,µ«ÊÇÐÔÄܲî±ð·Ç³£´ó,ÓÐÈË×ö¹ýʵÑé:made_order¹²23Íò±Ê¼Ç¼£¬charge_detail¹²17Íò±Ê¼Ç¼:
SELECT order_id from made_order
¡¡¡¡MINUS
¡¡¡¡SELECT order_id from charge_detail
ºÄʱ:1.14 sec
¡¡¡¡
¡¡¡¡SELECT a.order_id from made_order a
¡¡¡¡ WHERE a.order_id NOT exists (
¡¡¡¡ SELECT order_id
¡¡¡¡ from charge_detail
¡¡¡¡ WHERE order_id = a.order_id
¡¡¡¡ )
ºÄʱ:18.19 sec
ÐÔÄÜÏà²î15.956±¶!Òò´ËÔÚÓöµ½ÕâÖÖÎÊÌâµÄʱºò,»¹ÊÇÓÃMINUS,INTERSECTºÍUNION ALLÀ´½â¾öÎÊÌâ,·ñÔòÃæ¶ÔÒµÎñÖÐËæ´¦¿É¼ûµÄÉϰÙÍòÊý¾ÝÁ¿µÄ²éѯ,Êý¾Ý¿â·þÎñÆ÷»¹²»±»ÔÛÍæµÄËÀÇÌÇÌ?
PS:Ó¦ÓÃÁ½¸ö¼¯ºÏµÄÏà¼õ,ÏཻºÍÏà¼Óʱ,ÊÇÓÐÑϸñÒªÇóµÄ:1.Á½¸ö¼¯ºÏµÄ×ֶαØÐëÃ÷È·(ÓÃ*¾Í²»ÐÐ,±¨´í);2.×Ö¶ÎÀàÐͺÍ˳ÐòÏàͬ(Ãû³Æ¿ÉÒÔ²»Í¬),Èç:¼¯ºÏ1µÄ×Ö¶Î1ÊÇNUMBER,×Ö¶Î2ÊÇVARCHAR,ÄÇô¼¯ºÏ2µÄ×Ö¶Î1±ØÐëÒ²ÊÇNUMBER,×Ö¶Î2±ØÐëÊÇVARCHAR;3.²»ÄÜÅÅÐò,Èç¹ûÒª¶Ô½á¹ûÅÅÐò,¿ÉÒÔÔÚ¼¯ºÏÔËËãºó,ÍâÃæÔÙÌ×Ò»¸ö²éѯ,È»ºóÅÅÐò,ÈçÇ°ÃæµÄÀý×Ó¿ÉÒԸijÉ:
SELECT * from
(SELECT order_id from made_order
¡¡¡¡ MINUS
¡¡¡¡SELECT order_id from charge_detail)
ORDER BY ORDER_ID ASC
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/gan690416372/archive/2009/12/15/5012397.aspx
Ïà¹ØÎĵµ£º
½ñÌìÔÚµ÷ÊԵĹý³ÌÖз¢ÏÖ ÔÚvbÖÐÆ´SQLµÄʱºò·¢ÏÖ"()" ×÷Óúܴó
eg: table: T_TEST col : T_KB int ,S_CD int ,Z_SU int
dim gcstrT_1 ,gcstrT_3 as integer
gcstrT_1 = 1
gcstrT_3 = 3
strWhere = strWhere & "……"
strWhere = strWhere & "AND ((T_K ......
Table: T_1, T_2, T_3
T_1 &nbs ......
Ò»¡¢SQL×¢Èë·À·¶
ÔÚÒ»¸öWEB¶¯Ì¬Ò³ÃæÖУ¨ÀýÈçaspx»òÕßjsp£©£¬Õâ¸öÒ³ÃæÔÊÐíÓû§ÔÚÊäÈë¿òÖÐÊäÈë×Ö·û£¬Õâ¸ö×Ö·û¿ÉÒÔ±»ÒýÈëµ½Êý¾Ý¿âÖÐÈ¥½øÐвéѯ£¨ÕâÀïµÄ²éѯÊÇͨÓõÄ˵·¨£¬Êµ¼ÊÉϰüÀ¨ÁËÔöɾ¸Ä²é£©²Ù×÷¡£Ò»¸öºÚ¿ÍÔÚÕâ¸öÊäÈë¿òÖÐÊäÈëÁËÒ»¸ö»ûÐβéѯ×Ö·û´®£¬´Ó¶ø¸Ä±äÁËÔÓеIJéѯ£¬Õâ¿ÉÒÔ±»ÓÃÀ´²åÈ룬¸Ä±ä£¬»òË𺦺ǫ́Êý¾Ý¿â¡£Ôõà ......