SQL Server: Inner Join¼°Outer Join, Natrual Jion
Ò»¡¢NATURAL JOIN£¨×ÔÈ»Á¬½Ó£©
Á½Õűíͨ¹ýNATURAL JOINÁ¬½ÓµÄʱºò£¬Ï൱ÓÚÓиöÒþº¬µÄWHERE×Ӿ䣬¶ÔÁ½ÕűíÖÐͬÃûµÄ¶ÔÓ¦ÁÐÏà±È½Ï¿´ÊÇ·ñÏàµÈ¡£
¶þ¡¢CROSS JOIN£¨´´½¨µÑ¿¨¶û»ý£©
¶ÔÁ½Õűíͨ¹ý½»²æÁªºÏ²úÉúµÚÈýÕÅ·µ»Ø½á¹û¼¯µÄ±í¡£Ï൱ÓÚÆÕͨµÄÁ¬½Ó¡£
Èý¡¢INNER JOIN£¨ÄÚÁ¬½Ó£©
ÄÚÁ¬½Ó¾ÍÏ൱ÓÚÆÕͨµÄCROSS JOIN£¬Ö»ÊǸñʽ²»Ò»Ñù£¬INNER JOINÔÚºóÃæÓÐÒ»¸öON×Ӿ䣨Ï൱ÓÚWHERE£©µÄËÑË÷Ìõ¼þ£¬ÓÃÓÚ¹ýÂË·µ»ØµÄÐС£
ËÄ¡¢OUTER JOIN £¨ÍâÁ¬½Ó£©
select * from ta outer join tb on (ta.c1=tb.c1)
outer join¸æËßDBMSÉú³É½á¹û±í£¬Ôڴ˱íÖв»½ö´øÓÐÏà¹Ø(ta.c1=tb.c1)Ðжԣ¬¶øÇÒ»¹ÓÐÀ´×ÔÁ½¸öÔ´±íÖÐÈÎÒ»±íµÄ²»Æ¥ÅäµÄÐС£
Îå¡¢LEFT OUTER JOIN£¨×óÁ¬½Ó£© RIGHT OUTER JOIN£¨ÓÒÁ¬½Ó£©
select * from ta left outer join tb on (ta.c1=tb.c1)
select * from ta right outer join tb on (ta.c1=tb.c1)
left outer join(left join) ¸æËßDBMSÉú³É°üÀ¨ÁªºÏÐкÍÈκβ»Æ¥ÅäµÄÐеĽá¹û±í£¬µ«ÊDz»Æ¥ÅäµÄÐÐϵÀ´×Ô²éѯµÄfrom×Ó¾äÖÐLEFT OUTER JOIN¹Ø¼ü´Ê×ó±ßµÄ±íÖС£
right outer join(right join)Óëleft outer join(left join)¸ÕºÃÏà·´¡£
Áù¡¢FULL OUTER JOIN£¨È«Á¬½Ó£©
FULL OUTER JOIN ·µ»Ø×éºÏÁËLEFT OUTER JOIN ºÍRIGHT OUTER JOIN½á¹ûµÄ±í¡£
ÒÔÏÂÊÇInner Join¼°Outer JoinµÄ¾ßÌå½éÉÜ£º
ÔÚÒ»¸öÕý¹æ»¯µÄÊý¾Ý¿â»·¾³ÖÐ, ÎÒÃdz£»áÅöµ½Õâ¿îÇéÐÎ: ËùÐèµÄ×ÊÁϲ¢²»ÊÇ·ÅÔÚͬһ¸ö×ÊÁϱíÖÐ, ÔÚÕâ¸öʱºò, Äã¾ÍÒªÓõ½ Join¡£
¡¡¡¡µ±È» Join ÈçºÎ½«²»Í¬µÄÊý¾Ý¿âµÄ×ÊÁϽáºÏ, »¹Òª¿´ÄãÈçºÎʹÓÃËü, Ò»¹²ÓÐËÄÖÖ²»Í¬µÄ Join µÄ·½Ê½, ÔÚÕâÆªÎÄÕÂÖÐÎÒÃǽ«ÎªÄã½éÉÜ Inner Join ¼° Outer Join ÒÔ¼°ÆäÓ¦Óá£
¡¡¡¡Inner Join
¡¡¡¡Inner Join Ó¦¸ÃÊÇ×î³£ÓÃµÄ Join ·½Ê½, ËüÖ»»á´«»Ø·ûºÏ Join ¹æÔòµÄ¼Í¼, »¹ÊÇÏÈÀ´¿´¿´Óï·¨£º
Select <ҪѡÔñµÄ×Ö¶Î> from <Ö÷Òª×ÊÁϱí> <Join ·½Ê½> <´ÎÒª×ÊÁϱí> [On <Join ¹æÔò>]
¡¡¡¡ÏÖÔÚÎÒÃÇÀûÓà MS SQL ÄÚ½¨µÄ±±·çÊý¾Ý¿âÀ´Êµ¼ÊÁ·Ï°Ò»ÏÂ! Ïë¶àÁ˽â MS SQL µÄÄÚ½¨Êý¾Ý¿â, Äã¿ÉÒÔ¿´¿´ SQL Server µÄÄÚ½¨Êý¾Ý¿âÕâÆªÎÄÕ¡£
¡¡¡¡Çë´ò¿ª
Ïà¹ØÎĵµ£º
SELECT ±íÃû = CASE a.colorder WHEN 1 THEN c.name ELSE '' END,
Ðò = a.colorder,
×Ö¶ÎÃû = a.name,
±êʶ = CASE COLUMNPROPERTY(a.id,a.name, ......
´íÎó1069ÊÇÒ»¸öWindows NT/2000µÄϵͳ´íÎó¡£´íÎó1069±íÃ÷·þÎñ²»Äܱ»Æô¶¯£¨µ±Æô¶¯·þÎñʱ·µ»Ø“µÇ¼ʧ°Ü”´íÎ󣩡£ÀýÈ磬µ±Æô¶¯MSSQLServer·þÎñʱ£¬µÃµ½ÈçÏ´íÎóÌáʾ£º
·¢Éú´íÎó1069£ºÓÉÓڵǼʧ°Ü¶øÎÞ·¨Æô¶¯·þÎñ
´ËʱÕýÔÚMSSQLServer·þÎñÉÏÖ´Ðи÷þÎñ²Ù×÷
Èç¹û·þÎñ±»Ò»¸öûÓГµÇ¼·þÎñ”ȨÏÞµÄÕÊ» ......
SQL JOIN
SQL join ÓÃÓÚ¸ù¾ÝÁ½¸ö»ò¶à¸ö±íÖеÄÁÐÖ®¼äµÄ¹ØÏµ£¬´ÓÕâЩ±íÖвéѯÊý¾Ý¡£
Join ºÍ Key
ÓÐʱΪÁ˵õ½ÍêÕûµÄ½á¹û£¬ÎÒÃÇÐèÒª´ÓÁ½¸ö»ò¸ü¶àµÄ±íÖлñÈ¡½á¹û¡£ÎÒÃǾÍÐèÒªÖ´ÐÐ join¡£
Êý¾Ý¿âÖеıí¿Éͨ¹ý¼ü½«±Ë´ËÁªÏµÆðÀ´¡£Ö÷¼ü£¨Primary Key£©ÊÇÒ»¸öÁУ¬ÔÚÕâ¸öÁÐÖеÄÿһÐеÄÖµ¶¼ÊÇΨһµÄ¡£ÔÚ±íÖУ¬Ã¿¸öÖ÷¼üµÄ ......
SQL LEFT JOIN ¹Ø¼ü×Ö
SQL LEFT JOIN ¹Ø¼ü×Ö
LEFT JOIN ¹Ø¼ü×Ö»á´Ó×ó±í (table_name1) ÄÇÀï·µ»ØËùÓеÄÐУ¬¼´Ê¹ÔÚÓÒ±í (table_name2) ÖÐûÓÐÆ¥ÅäµÄÐС£
LEFT JOIN ¹Ø¼ü×ÖÓï·¨
SELECT column_name(s)
from table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
×¢ÊÍ£ºÔÚÄ ......