SQL JOIN µÄÓ÷¨
¶ÔÓÚSQLÎÒҲѧϰÁË£¬µ«ÊÇÕæÕýÓõ½µÄʱºò²ÅÖªµÀºÜ¶à¶«Î÷»¹²»Ì«Àí½â£¬ÔÚÍøÉÏ¿´ÁËһϣ¬ÕâÆªÎÄÕÂÖн²µÄºÜºÃ£¬ËùÒÔÄÃÀ´ºÍ´ó¼Ò·ÖÏíһϣº
SQL JOIN µÄÓ÷¨
¹ØÓÚsqlÓï¾äÖеÄÁ¬½Ó£¨join£©¹Ø¼ü×Ö£¬ÊǽÏΪ³£ÓöøÓÖ²»Ì«ÈÝÒ×Àí½âµÄ¹Ø¼ü×Ö£¬ÏÂÃæÕâ¸öÀý×Ó¸ø³öÁËÒ»¸ö¼òµ¥µÄ½âÊÍ --½¨±ítable1,table2£º
create table table1(id int,name varchar(10))
create table table2(id int,score int)
insert into table1 select 1,''lee''
insert into table1 select 2,''zhang''
insert into table1 select 4,''wang''
insert into table2 select 1,90
insert into table2 select 2,100
insert into table2 select 3,70
Èç±í
-------------------------------------------------
table1 | table2 |
-------------------------------------------------
id name |id score |
1 lee |1 90 |
2 zhang |2 100 |
4 wang |3 70 |
-------------------------------------------------
ÒÔϾùÔÚ²éѯ·ÖÎöÆ÷ÖÐÖ´ÐÐ
Ò»¡¢ÍâÁ¬½Ó
1.¸ÅÄ°üÀ¨×óÏòÍâÁª½Ó¡¢ÓÒÏòÍâÁª½Ó»òÍêÕûÍⲿÁª½Ó
2.×óÁ¬½Ó£ºleft join »ò left outer join
(1)×óÏòÍâÁª½ÓµÄ½á¹û¼¯°üÀ¨ LEFT OUTER ×Ó¾äÖÐÖ¸¶¨µÄ×ó±íµÄËùÓÐÐУ¬¶ø²»½ö½öÊÇÁª½ÓÁÐËùÆ¥ÅäµÄÐС£Èç¹û×ó±íµÄijÐÐÔÚÓÒ±íÖÐûÓÐÆ¥ÅäÐУ¬ÔòÔÚÏà¹ØÁªµÄ½á¹û¼¯ÐÐÖÐÓÒ±íµÄËùÓÐÑ¡ÔñÁбíÁоùΪ¿ÕÖµ(null)¡£
(2)sqlÓï¾ä
select * from table1 left join table2 on table1.id=table2.id
-------------½á¹û-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
4 wang NULL NULL
------------------------------
×¢ÊÍ£º°üº¬table1µÄËùÓÐ×Ӿ䣬¸ù¾ÝÖ¸¶¨Ìõ¼þ·µ»Øtable2ÏàÓ¦µÄ×ֶΣ¬²»·ûºÏµÄÒÔnullÏÔʾ
3.ÓÒÁ¬½Ó£ºright join »ò right outer join
(1)ÓÒÏòÍâÁª½ÓÊÇ×óÏòÍâÁª½ÓµÄ·´ÏòÁª½Ó¡£½«·µ»ØÓÒ±íµÄËùÓÐÐС£Èç¹ûÓÒ±íµÄijÐÐÔÚ×ó±íÖÐûÓÐÆ¥ÅäÐУ¬Ôò½«Îª×ó±í·µ»Ø¿ÕÖµ¡£
(2)sqlÓï¾ä
select * from table1 right join table2 on table1.id=table2.id
-------------½á¹û-------------
id name id score
------------------------------
1 lee 1 90
2 zhang 2 100
NULL NULL 3 70
------------------------------
×¢ÊÍ£º°üº¬table2µÄËùÓÐ×Ӿ䣬¸ù¾ÝÖ¸¶¨Ìõ¼þ·µ»Øtable1ÏàÓ¦µÄ×ֶΣ¬²»·ûºÏµÄÒÔnullÏÔʾ
4.ÍêÕûÍⲿÁª½Ó:full join »ò full outer join
Ïà¹ØÎĵµ£º
ÊìϤSQL SERVER 2000µÄÊý¾Ý¿â¹ÜÀíÔ±¶¼ÖªµÀ£¬ÆäDTS¿ÉÒÔ½øÐÐÊý¾ÝµÄµ¼Èëµ¼³ö£¬Æäʵ£¬ÎÒÃÇÒ²¿ÉÒÔʹÓÃTransact-SQLÓï¾ä½øÐе¼Èëµ¼³ö²Ù×÷¡£ÔÚTransact-SQLÓï¾äÖУ¬ÎÒÃÇÖ÷ҪʹÓÃOpenDataSourceº¯Êý¡¢OPENROWSET º¯Êý£¬¹ØÓÚº¯ÊýµÄÏêϸ˵Ã÷£¬Çë²Î¿¼SQLÁª»ú°ïÖú¡£ÀûÓÃÏÂÊö·½·¨£¬¿ÉÒÔÊ®·ÖÈÝÒ×µØÊµÏÖSQL SERVER¡¢ACCESS¡¢EXCELÊý¾Ýת»»£ ......
1.´ò¿ªSQL server enterprise mananger “ÆóÒµ¹ÜÀíÆ÷”
ÔÚÄãÒªµ¼³öµÄSQLÊý¾Ý¿âÉÏÊó±êÓÒ¼ü²Ëµ¥£ºËùÓÐÈÎÎñ-¡·µ¼³öÊý¾Ý
2.»Ø³öÏÖÒ»¸öµ¼³öÏòµ¼´°¿Ú¡£
Ñ¡Ôñ±»µ¼³öµÄÊý¾ÝÔ´£¬ÎªÄã¸Õ²ÅËùÑ¡ÔñµÄÊý¾Ý¿â£¬Èç¹û·¢ÏÖ²»¶ÔÓ¦×ÔÐÐÐ޸ġ£
3.½øÈëµ¼³öµ½Ä¿±êÊý¾ÝÔ´µÄÑ¡Ôñ£¬ÕâÀïÎÒÃÇҪת³ÉACCESSµÄÊý¾Ý¿â¡£×¢ÒâÑ¡ÔñÊý¾ÝÔ´ÀàÐÍÎ ......
1.Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)¡¡¡¡
¡¡¡¡ SQLSERVERµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í£¬µ±SQLSERVER´¦Àí¶à¸ö±íʱ£¬»áÔËÓÃÅÅÐò¼°ºÏ²¢µÄ·½Ê½Á ......
±¾ÎÄ×ªÔØ×Ô http://database.ctocio.com.cn/tips/272/7588272.shtml
΢ÈíµÄSQL SERVERÌṩÁËÁ½ÖÖË÷Òý£º¾Û¼¯Ë÷Òý(clustered index£¬Ò²³Æ¾ÛÀàË÷Òý¡¢´Ø¼¯Ë÷Òý)ºÍ·Ç¾Û¼¯Ë÷Òý(nonclustered index£¬Ò²³Æ·Ç¾ÛÀàË÷Òý¡¢·Ç´Ø¼¯Ë÷Òý)……
¡¡¡¡(Ò»)ÉîÈëdz³öÀí½âË÷Òý½á¹¹
¡¡¡¡Êµ¼ÊÉÏ£¬Äú¿ÉÒÔ°ÑË÷ÒýÀí½âΪһÖÖÌØÊâµÄĿ¼¡£ ......