SQLµ÷ÓÅ(Á¬½Ó·½Ê½)
SQLµ÷ÓÅ Ö® Á¬½Ó·½Ê½
JoinÊÇÒ»ÖÖÊÔͼ½«Á½¸ö±í½áºÏÔÚÒ»ÆðµÄν´Ê£¬Ò»´ÎÖ»ÄÜÁ¬½Ó2¸ö±í£¬±íÁ¬½ÓÒ²¿ÉÒÔ±»³ÆΪ±í¹ØÁª¡£ÔÚºóÃæµÄÐðÊöÖУ¬Ê¹ÓÔrow source”À´´úÌ攱픣¬ÒòΪʹÓÃrow source¸üÑϽ÷һЩ£¬²¢ÇÒ½«²ÎÓëÁ¬½ÓµÄ2¸örow source·Ö±ð³ÆΪrow source1ºÍrow source 2¡£Join¹ý³ÌµÄ¸÷¸ö²½Öè¾³£ÊÇ´®ÐвÙ×÷£¬¼´Ê¹Ïà¹ØµÄrow source¿ÉÒÔ±»²¢ÐзÃÎÊ£¬¼´¿ÉÒÔ²¢ÐеĶÁÈ¡×öjoinÁ¬½ÓµÄÁ½¸örow sourceµÄÊý¾Ý£¬µ«ÊÇÔÚ½«±íÖзûºÏÏÞÖÆÌõ¼þµÄÊý¾Ý¶ÁÈëµ½ÄÚ´æÐγÉrow sourceºó£¬joinµÄÆäËü²½ÖèÒ»°ãÊÇ´®Ðеġ£ÓжàÖÖ·½·¨¿ÉÒÔ½«2¸ö±íÁ¬½ÓÆðÀ´£¬µ±È»Ã¿ÖÖ·½·¨¶¼ÓÐ×Ô¼ºµÄÓÅȱµã£¬Ã¿ÖÖÁ¬½ÓÀàÐÍÖ»ÓÐÔÚÌض¨µÄÌõ¼þϲŻᷢ»Ó³öÆä×î´óÓÅÊÆ¡£
row source(±í)Ö®¼äµÄÁ¬½Ó˳Ðò¶ÔÓÚ²éѯµÄЧÂÊÓзdz£´óµÄÓ°Ï졣ͨ¹ýÊ×ÏÈ´æÈ¡Ìض¨µÄ±í£¬¼´½«¸Ã±í×÷ΪÇý¶¯±í,ÕâÑù¿ÉÒÔÏÈÓ¦ÓÃijЩÏÞÖÆÌõ¼þ,´Ó¶øµÃµ½Ò»¸ö½ÏСµÄrow source£¬Ê¹Á¬½ÓµÄЧÂʽϸߣ¬ÕâÒ²¾ÍÊÇÎÒÃdz£ËµµÄÒªÏÈÖ´ÐÐÏÞÖÆÌõ¼þµÄÔÒò¡£Ò»°ãÊÇÔÚ½«±í¶ÁÈëÄÚ´æʱ£¬Ó¦ÓÃwhere×Ó¾äÖжԸñíµÄÏÞÖÆÌõ¼þ¡£
¸ù¾Ý2¸örow sourceµÄÁ¬½ÓÌõ¼þµÄÖвÙ×÷·ûµÄ²»Í¬£¬¿ÉÒÔ½«Á¬½Ó·ÖΪµÈÖµÁ¬½Ó(ÈçWHERE A.COL3 = B.COL4)¡¢·ÇµÈÖµÁ¬½Ó(WHERE A.COL3 > B.COL4)¡¢ÍâÁ¬½Ó(WHERE A.COL3 = B.COL4(+))¡£ÉÏÃæµÄ¸÷¸öÁ¬½ÓµÄÁ¬½ÓÔÀí¶¼»ù±¾Ò»Ñù£¬ËùÒÔΪÁ˼òµ¥Æڼ䣬ÏÂÃæÒÔµÈÖµÁ¬½ÓΪÀý½øÐнéÉÜ¡£
ÎÞÂÛÁ¬½Ó²Ù×÷·ûÈçºÎ£¬µäÐ͵ÄÁ¬½ÓÀàÐ͹²ÓÐ3ÖÖ£º
ÅÅÐò - - ºÏ²¢Á¬½Ó(Sort Merge Join (SMJ) )
ǶÌ×Ñ»·(Nested Loops (NL) )
¹þÏ£Á¬½Ó(Hash Join)
ÅÅÐò - - ºÏ²¢Á¬½Ó(Sort Merge Join, SMJ)
ÄÚ²¿Á¬½Ó¹ý³Ì£º
1) Ê×ÏÈÉú³Érow source1ÐèÒªµÄÊý¾Ý£¬È»ºó¶ÔÕâЩÊý¾Ý°´ÕÕÁ¬½Ó²Ù×÷¹ØÁªÁÐ(ÈçA.col3)½øÐÐÅÅÐò¡£
2) ËæºóÉú³Érow source2ÐèÒªµÄÊý¾Ý£¬È»ºó¶ÔÕâЩÊý¾Ý°´ÕÕÓësort source1¶ÔÓ¦µÄÁ¬½Ó²Ù×÷¹ØÁªÁÐ
(ÈçB.col4)½øÐÐÅÅÐò¡£
3) ×îºóÁ½±ßÒÑÅÅÐòµÄÐб»·ÅÔÚÒ»ÆðÖ´Ðкϲ¢²Ù×÷£¬¼´½«2¸örow source°´ÕÕÁ¬½ÓÌõ¼þÁ¬½ÓÆðÀ´
ÏÂÃæÊÇÁ¬½Ó²½ÖèµÄͼÐαíʾ£º
MERGE
/ \
Ïà¹ØÎĵµ£º
·ÀSQL×¢È뺯Êý
³ÌÐò´úÂ룺
º¯Êý²¿·Ö========================================================================
'------------------------------------------------
'ÓÃ;:¼ì²éÊÇ·ñΪÊý×Ö,ÒÔ¼°Êý×ÖÊÇ·ñ³¬³ö·¶Î§
'ÊäÈë:¼ì²é×Ö·û,´«Öµ·½Ê½(0Ö±½Ó´«,1È¡Form,2È¡QueryString,3È¡cookies,4Ö±½ÓReqeust),¿ªÊ¼Êý×Ö(ĬÈÏÊý× ......
v$sqltext
´æ´¢µÄÊÇÍêÕûµÄSQL
v$sqlarea
´æ´¢µÄSQL ºÍһЩÏà¹ØµÄÐÅÏ¢£¬±ÈÈçÀۼƵÄÖ´ÐдÎÊý£¬Âß¼¶Á£¬ÎïÀí¶ÁµÈͳ¼ÆÐÅÏ¢
v$sql
´æ´¢µÄÊǾßÌåµÄSQL ºÍÖ´Ðмƻ®Ïà¹ØÐÅÏ¢£¬Êµ¼ÊÉÏ£¬v$sqlarea ¿ÉÒÔ¿´×ö v$sql ¸ù¾Ý sqltext µÈ ×öÁË group by Ö®ºóµÄÐÅÏ¢ ......
±íjh03ÓÐÏÂÁÐÊý¾Ý£º
name¡¡score
aa¡¡¡¡99
bb¡¡¡¡56
cc¡¡¡¡56
dd¡¡¡¡77
ee¡¡¡¡78
ff¡¡¡¡76
gg¡¡¡¡78
ff¡¡¡¡50
1. Ãû´ÎÉú³É·½Ê½1,ScoreÖظ´Ê±ºÏ²¢Ãû´Î
SELECT *¡¡,¡¡Place=(SELECT COUNT(DISTINCT Score) from jh03 WHERE Score >= a.Score)
from jh03 a
ORDER BY Place
½á¹û
Name Score Pla ......
Ò»¡¢SQL´æ´¢¹ý³ÌµÄ¸ÅÄÓŵ㼰Óï·¨
¡¡¡¡ÕûÀíÔÚѧϰ³ÌÐò¹ý³Ì֮ǰ£¬ÏÈÁ˽âÏÂʲôÊÇ´æ´¢¹ý³Ì?ΪʲôҪÓô洢¹ý³Ì£¬ËûÓÐÄÇЩÓŵã
¡¡¡¡¶¨Ò壺½«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´, ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ,Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî ......
£±.½¨Ò»ÕÅ±í¡¡´æ·ÅÊý¾Ý¡¡ÔÚÏÂÃæ£Ó£Ñ£Ìº¯ÊýÖÐÓÐÓõ½
create table solardata
(
yearid int not null,
data char(7) not null, ......