ÔØÈëÖС£¡£¡£ 'S bLog
 
ÔØÈëÖС£¡£¡£
 
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
ÔØÈëÖС£¡£¡£
 
ÌîдÄúµÄÓʼþµØÖ·£¬¶©ÔÄÎÒÃǵľ«²ÊÄÚÈÝ£º


 
sql¶à±í²éѯ֮²»µÈÁ¬½ÓInequality-Join
[ 2011/6/21 13:06:00 | By: ÃÎÏè¶ù ]
 

½ñÌì¿´sigmod2011µÄÂÛÎĹØÓÚmapreduceÀ´½â¾ö²»µÈÖµÁ¬½ÓÎÊÌ⣬ËùÒÔÍøÂç¿ÆÆÕÁËһϣº

    ½ñÌìÎÒÃÇÒª½éÉܵÄÊÇsql¶à±í²éѯ²»µÈÁ¬½Ó£¬ÏëÖªµÀÔõôÑùÓÃÒ»¾äSQLµÃµ½Ã¿ÈÕµÄ¿â´æ½áÓàÂð£¬ÄÇôÄãǧÍò²»Òª´í¹ý½ñÌìµÄÄÚÈÝ£¡

¡¡¡¡¿ÉÄÜÓÐÅóÓÑÒªÎÊÁË£¬Ê²Ã´ÊDz»µÈÁ¬½ÓÄØ£¿

        ͨ³£À´Ëµ£¬SQLÓïÑÔ½øÐеͼÊÇÎÞÐò²Ù×÷¡£ÏëÒª½øÐÐÓÐÐòµÄ´¦Àí£¬±ÈÈç±È½ÏÒ»¸öÐòÁеÄǰºóÏ±ØÐëҪʹÓÃÓαꡣµ«ÊÇ£¬ÔÚÓÐЩ³¡ºÏÏ£¬¿É²ÉÓÃÁíÒ»ÖÖ·½·¨£¬²»ÓÃÓα꣬һÑùÄÜ´¦ÀíÓÐÐòµÄÐÅÏ¢£¬Õâ¾ÍÊDz»µÈÁª½Ó¡£

¡¡¡¡¿´¿´ÏÂÃæµÄÀý×ÓÄã¾Í¸ü¼ÓÃ÷°×ʲôÊDz»µÈÁ¬½ÓÁË¡£

¡¡¡¡ÎÒÓÐÒ»Õűí

 

 

¡¡¡¡ÏÖÔÚÎÒÏ£Íûͨ¹ýÒ»Ìõ²éѯÓï¾äʹËü±ä³É

 

 

¡¡¡¡¿´µ½Ã»ÓУ¬¼Ç¼Êý±ä¶àÁË£¬½öÓÃÎÒÃÇ֮ǰѧµ½µÄa join b where a.XX=b.YYÄܽâ¾öÎÊÌâÂð£¿

¡¡¡¡ ÏëÏ룬ÔÙ¿´´ð°¸

  select _a.ordinal from @a _a join @a _b on _a.ordinal<=_b.ordinal
¡¡¡¡×ܽ᣺

  Á¬½ÓÌõ¼þ²»Îª=ºÅµÄͳ³Æ²»µÈÁ¬½Ó
 <>,> ,<,like,not in,not exists¡­..¶¼¿ÉÒÔ×öΪÁ¬½ÓÌõ¼þ
¡¡¡¡Õâ¸öÀý×ÓÓÐЩ³éÏó£¬Ò²Ðí´ó¼Ò»á˵£¬ÎÒÓò»ÉÏÕâÖÖ²éѯ

¡¡¡¡ÎÒ¸øÄã¿´¿´ÏÂÃæÕâ¸ö°¸Àý£¬Äú¾ÍÖªµÀÕâ¸ö²»µÈÁ¬½ÓÓжàʵÓÃÀ²

¡¡¡¡×ö¹ýÆóÒµÐÅϢϵͳӦ¸Ã¶¼ÖªµÀ½øÏú´æ°É£¬ÄÇô£¬ÏÂÃæÕâÊÇÒ»ÕÅÈë¿âÃ÷ϸ±í

¡¡¡¡Ëü¼Ç¼ÁËÿÌìµÄÈë¿âÇé¿ö

 

 

¡¡¡¡ÏÖÔÚÎÒÏ£ÍûµÃµ½Ã¿¸ö²úƷÿ´ÎÈë¿âÖ®ºóµÄ¿â´æ±ä»¯Çé¿ö£¬ÈçϱíËùʾ£º

 

¡¡¡¡Õâ¸ÃÔõô°ìÄØ£¿

        Ö±¹ÛÉÏÀ´½²£¬ÎÒÃÇ¿ÉÒÔÔÚÈë¿âÃ÷ϸ±íÉϽ¨Ò»¸öÓα꣬´ÓµÚÒ»Ìõ¿ªÊ¼£¬Ã¿Ò»Ìõ£¬¼ÓÒ»´Î¡£

       Ò²ÐíÓÐЩÅóÓÑ»¹¿ÉÒÔÏëµ½ÓÃupdate£¬²»´íÀ²£¡

       µ«ÊÇ£¬Ö»ÓÐÕâЩ·½·¨Â𣿣¿£¿

       µ±È»²»£¬ÎÒÃÇ¿ÉÒÔÓÃÒ»¾äSQL¸ã¶¨£¬ÏàÐÅÂð£¿

 ¡¡ÊÔÊÔ£¬ÔÙ¿´´ð°¸

Select
       _b.Èë¿âÈÕÆÚ,_a.²úÆ·,sum(_a.ÊýÁ¿) µ±Ç°¿â´æ

       from @Èë¿â±í _a

       join @Èë¿â±í _b

       on _a.²úÆ·=_b.²úÆ· and _a.Èë¿âÈÕÆÚ<=_b.Èë¿âÈÕÆÚ

       group by _b.Èë¿âÈÕÆÚ,_a.²úÆ·

 ¡¡¡¡²»µÈÁª½Ó±¾Éí¾Í²»ÊÇÒ»Ò»¶ÔÓ¦£¬ËüµÄ¶ÔÓ¦¹ØÏµºÍ˳ÐòÓÐ×ÅÃÜÇеĹØÏµ¡£ÕâÒ²¾ÍÊÇÎÒÃÇÄܹ»ÄÃËüÀ´½øÐÐÓÐÐò²Ù×÷µÄÔ­Òò¡£Õâ¾ÍÊDz»µÈÁ¬½Ó£¬Õâ´ÎÖªµÀÁ˰ɣ¡

 

        ²»µÈÁª½Ó²éѯµÄÓÐÐò²Ù×÷ÄÜÁ¦£¬ÏÔÈ»À´×ÔÁª½Ó×ֶεĿÉÅÅÐòºÍ»¥ÒìÐÔ£¬ËùÒÔ£¬×îºÃ²»ÒªÔÚÓÐÖØ¸´ÖµµÄ×Ö¶ÎÉÏ×ö²»µÈÁª½Ó£¨ÊÂʵÉÏ£¬×îºÃ²»ÒªÔÚÓÐÖØ¸´ÖµµÄ×Ö¶ÎÉÏ×öÈκÎÁª½Ó£¬³ý·ÇÄã·Ç³£¿Ï¶¨ÄãÔÚ¸Éʲô£©¡£µÈÖµÁª½Ó³öÏÖÊý¾Ý±¬Õ¨¾Í¹»¿ÉŵÄÁË£¬²»µÈÁª½ÓÒªÊÇÍæ±¬ÁË¡­¡­ºÙºÙºÙ¡­¡­

 

       ÏëÏñÒ»¸öµÈÖµÁª½ÓÖÐÓÐÒ»¶ÔÖØ¸´Öµ£¬¿ÉÄܳöÏÖÁ½¶ÔÖØ¸´½á¹û¡£²»¹ýÒªÊDz»µÈÁª½Ó£¬¾ÍºÍÖØ¸´µÄλÖÃÓйØÁË¡£ÒòΪÕâÊÇÒ»¸öÈý½ÇÐΣ¬ËùÒÔ³öÏÖÔÚ×îÉÏÃæ»¹ºÃ£¬ÒªÊdzöÏÖÔÚÕâ¸öÈý½ÇÐεÄϲ¿¡­¡­

 

       СÖҸ棺²»µÈÁª½Ó²éѯ£¬ÏÔÈ»ÊÇÒ»¸öÓÐÁ¦µÄ¹¤¾ß£¬µ«ËüÒ²ÊÇÕÐÀ´Âé·³µÄ¿ì½Ý·½Ê½Ö®Ò»¡£Óм¸¸öСÖҸ棺


        1¡¢Èç¹ûÁª½Ó»áÉú³ÉºÜ´óµÄ¡°Èý½ÇÐΡ±£¬¾Í²»ÒªÓã¬ÊÔÊÔ×Ó²éѯ»òÄÄÅÂÓαꣻ

       2¡¢Éú³ÉµÄ½á¹û¼¯Ïà¶ÔÓÚÔ­±íԽСԽºÃ£¬¾¡¿ÉÄܵذÑÎÞÓõÄÊý¾ÝÏȹýÂ˵ô£»

       3¡¢Óò»µÈÁª½Ó½øÐÐÊýÁмÆËã»á±í´ïµÄºÜÇå³þ£¨ÒòΪÊÇ·**ý³Ì»¯µÄ£©£¬µ«Í¨³£ÔÚЧÂÊÉÏËüûÓÐʲôÓÅÊÆ£¬ËùÒÔ£¬Æ½Ê±ÍæÍæ¿ÉÒÔ£¬ÕæÓõϰ×îºÃÏÈ¿¼ÂǺã»

       4¡¢»¹ÓоÍÊDz»µÈÁª½Ó²»ÒªÇáÒ×ÓÃÔÚ¶àÖØÁª½ÓÖУ¬·ñÔò¿ÉÄÜ»áÒýÆð¸Ü¸Ë×÷Óá£

 

¡¡¡¡²»µÈÁ¬½ÓºÜÉñÆæ°É£¬¹¦ÄܺÜÇ¿´ó°É£ºD£¬×£´ó¼ÒÔÚÕâ¸öÉñÆæµÄÊÀ½çÖÐÂÃÐÐÓä¿ì£¡

http://www.oecp.cn/hi/xj/blog/236

 
 
  • ±êÇ©£º²»µÈÁ¬½Ó 
  • ·¢±íÆÀÂÛ£º
    ÔØÈëÖС£¡£¡£

     
     
     

    ÃÎÏè¶ùÍøÕ¾ ÃηÉÏèµÄµØ·½ http://www.dreamflier.net
    ÖлªÈËÃñ¹²ºÍ¹úÐÅÏ¢²úÒµ²¿TCP/IPϵͳ ±¸°¸ÐòºÅ£ºÁÉICP±¸09000550ºÅ

    Powered by Oblog.