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
/ \
Ïà¹ØÎĵµ£º
±í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 ......
£±.½¨Ò»ÕÅ±í¡¡´æ·ÅÊý¾Ý¡¡ÔÚÏÂÃæ£Ó£Ñ£Ìº¯ÊýÖÐÓÐÓõ½
create table solardata
(
yearid int not null,
data char(7) not null, ......
1 Export data to existing EXCEL file
from SQL Server table
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;',
'SELECT * from [SheetName$]') select * from SQLServerTable
2 Export data from Excel to new SQL Server table
select *
into SQLServerTab ......
ͨ³££¬ÄãÐèÒª»ñµÃµ±Ç°ÈÕÆÚºÍ¼ÆËãһЩÆäËûµÄÈÕÆÚ£¬ÀýÈ磬ÄãµÄ³ÌÐò¿ÉÄÜÐèÒªÅжÏÒ»¸öÔµĵÚÒ»Ìì»òÕß×îºóÒ»Ìì¡£´ó²¿·ÖÈË´ó¸Å¶¼ÖªµÀÔõÑù°ÑÈÕÆÚ½øÐзָÄê¡¢Ô¡¢Èյȣ©£¬È»ºó½ö½öÓ÷ָî³öÀ´µÄÄê¡¢Ô¡¢ÈյȷÅÔÚ¼¸¸öº¯ÊýÖмÆËã³ö×Ô¼ºËùÐèÒªµÄÈÕÆÚ£¡ÔÚÕâÆªÎÄÕÂÀÎÒ½«½ÌÄãÈçºÎʹÓÃDATEADDºÍDATEDIFFº¯ÊýÀ´¼ÆËã³öÔÚÄãµÄ³ÌÐòÖпÉÄÜÄ ......
-sqlÊÂÎñ´¦Àí
----------------------Àí------------ÂÛ-----------------------
1.ʲôÊÇÊÂÎñ£ºÊÂÎñÊÇÒ»¸ö²»¿É·Ö¸îµÄ¹¤×÷Âß¼µ¥Ôª£¬ÔÚÊý¾Ý¿âϵͳÉÏÖ´Ðв¢·¢²Ù×÷ʱÊÂÎñÊÇ×öΪ×îСµÄ¿ØÖƵ¥ÔªÀ´Ê¹Óõġ£Ëû°üº¬µÄËùÓÐÊý¾Ý¿â²Ù×÷ÃüÁî×÷Ϊһ¸öÕûÌåÒ»ÆðÏòϵÌá½»»ò³·Ïû£¬ÕâÒ»×éÊý¾Ý¿â²Ù×÷ÃüÁîҪô¶¼Ö´ÐУ¬ÒªÃ´¶¼²»Ö´ÐС£
2.ÊÂÎ ......