Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

sqlÖ®left join¡¢right join¡¢inner joinµÄÇø±ð

left join(×óÁª½Ó) ·µ»Ø°üÀ¨×ó±íÖеÄËùÓмǼºÍÓÒ±íÖÐÁª½á×Ö¶ÎÏàµÈµÄ¼Ç¼
right join(ÓÒÁª½Ó) ·µ»Ø°üÀ¨ÓÒ±íÖеÄËùÓмǼºÍ×ó±íÖÐÁª½á×Ö¶ÎÏàµÈµÄ¼Ç¼
inner join(µÈÖµÁ¬½Ó) Ö»·µ»ØÁ½¸ö±íÖÐÁª½á×Ö¶ÎÏàµÈµÄÐÐ
¾ÙÀýÈçÏ£º
--------------------------------------------
±íA¼Ç¼ÈçÏ£º
aID¡¡¡¡¡¡¡¡¡¡aNum
1¡¡¡¡¡¡¡¡¡¡a20050111
2¡¡¡¡¡¡¡¡¡¡a20050112
3¡¡¡¡¡¡¡¡¡¡a20050113
4¡¡¡¡¡¡¡¡¡¡a20050114
5¡¡¡¡¡¡¡¡¡¡a20050115
±íB¼Ç¼ÈçÏÂ:
bID¡¡¡¡¡¡¡¡¡¡bName
1¡¡¡¡¡¡¡¡¡¡2006032401
2¡¡¡¡¡¡¡¡¡¡2006032402
3¡¡¡¡¡¡¡¡¡¡2006032403
4¡¡¡¡¡¡¡¡¡¡2006032404
8¡¡¡¡¡¡¡¡¡¡2006032408
--------------------------------------------
1.left join
sqlÓï¾äÈçÏÂ:
select * from A
left join B
on A.aID = B.bID
½á¹ûÈçÏÂ:
aID¡¡¡¡¡¡¡¡¡¡aNum¡¡¡¡¡¡¡¡¡¡bID¡¡¡¡¡¡¡¡¡¡bName
1¡¡¡¡¡¡¡¡¡¡a20050111¡¡¡¡¡¡¡¡1¡¡¡¡¡¡¡¡¡¡2006032401
2¡¡¡¡¡¡¡¡¡¡a20050112¡¡¡¡¡¡¡¡2¡¡¡¡¡¡¡¡¡¡2006032402
3¡¡¡¡¡¡¡¡¡¡a20050113¡¡¡¡¡¡¡¡3¡¡¡¡¡¡¡¡¡¡2006032403
4¡¡¡¡¡¡¡¡¡¡a20050114¡¡¡¡¡¡¡¡4¡¡¡¡¡¡¡¡¡¡2006032404
5¡¡¡¡¡¡¡¡¡¡a20050115¡¡¡¡¡¡¡¡NULL¡¡¡¡¡¡¡¡¡¡NULL
£¨ËùÓ°ÏìµÄÐÐÊýΪ 5 ÐУ©
½á¹û˵Ã÷:
left joinÊÇÒÔA±íµÄ¼Ç¼Ϊ»ù´¡µÄ,A¿ÉÒÔ¿´³É×ó±í,B¿ÉÒÔ¿´³ÉÓÒ±í,left joinÊÇÒÔ×ó±íΪ׼µÄ.
»»¾ä»°Ëµ,×ó±í(A)µÄ¼Ç¼½«»áÈ«²¿±íʾ³öÀ´,¶øÓÒ±í(B)Ö»»áÏÔʾ·ûºÏËÑË÷Ìõ¼þµÄ¼Ç¼(Àý×ÓÖÐΪ: A.aID = B.bID).
B±í¼Ç¼²»×ãµÄµØ·½¾ùΪNULL.
--------------------------------------------
2.right join
sqlÓï¾äÈçÏÂ:
select * from A
right join B
on A.aID = B.bID
½á¹ûÈçÏÂ:
aID¡¡¡¡¡¡¡¡¡¡aNum¡¡¡¡¡¡¡¡¡¡bID¡¡¡¡¡¡¡¡¡¡bName
1¡¡¡¡¡¡¡¡¡¡a20050111¡¡¡¡¡¡¡¡1¡¡¡¡¡¡¡¡¡¡2006032401
2¡¡¡¡¡¡¡¡¡¡a20050112¡¡¡¡¡¡¡¡2¡¡¡¡¡¡¡¡¡¡2006032402
3¡¡¡¡¡¡¡¡¡¡a20050113¡¡¡¡¡¡¡¡3¡¡¡¡¡¡¡¡¡¡2006032403
4¡¡¡¡¡¡¡¡¡¡a20050114¡¡¡¡¡¡¡¡4¡¡¡¡¡¡¡¡¡¡2006032404
NULL¡¡¡¡¡¡¡¡¡¡NULL¡¡¡¡¡¡¡¡¡¡8¡¡¡¡¡¡¡¡¡¡2006032408
£¨ËùÓ°ÏìµÄÐÐÊýΪ 5 ÐУ©
½á¹û˵Ã÷:
×Ðϸ¹Û²ìÒ»ÏÂ,¾Í»á·¢ÏÖ,ºÍleft joinµÄ½á¹û¸ÕºÃÏà·´,Õâ´ÎÊÇÒÔÓÒ±í(B)Ϊ»ù´¡µÄ,A±í²»×ãµÄµØ·½ÓÃNULLÌî³ä.
--------------------------------------------
3.inner join
sqlÓï¾äÈçÏÂ:
select * from A
innerjoin B
on A.aID = B.bID
½á¹ûÈçÏÂ:
aID¡¡¡¡¡¡¡¡¡¡aNum¡¡¡¡¡¡¡¡¡¡bID¡¡¡¡¡¡¡¡¡¡bName
1¡¡¡¡¡¡¡¡¡¡a200


Ïà¹ØÎĵµ£º

PL/SQL³ÌÐòÉè¼Æ£¨ÓαêµÄʹÓÃ)

ΪÁË´¦Àí SQL Óï¾ä£¬ORACLE ±ØÐë·ÖÅäһƬ½ÐÉÏÏÂÎÄ( context area )µÄÇøÓòÀ´´¦ÀíËù±ØÐèµÄÐÅÏ¢£¬ÆäÖаüÀ¨Òª´¦ÀíµÄÐеÄÊýÄ¿£¬Ò»¸öÖ¸ÏòÓï¾ä±»·ÖÎöÒÔºóµÄ±íʾÐÎʽµÄÖ¸ÕëÒÔ¼°²éѯµÄ»î¶¯¼¯(active set)¡£
 ÓαêÊÇÒ»¸öÖ¸ÏòÉÏÏÂÎĵľä±ú( handle)»òÖ¸Õ롣ͨ¹ýÓα꣬PL/SQL¿ÉÒÔ¿ØÖÆÉÏÏÂÎÄÇøºÍ´¦ÀíÓï¾äʱÉÏÏÂÎÄÇø»á·¢ÉúЩʲôÊÂÇ ......

³£ÓÃ+ʵÓõÄSQLÓï¾ä¼¯½õ

ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
 
SQL·ÖÀࣺ ¡¡¡¡DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)¡¡¡¡
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º¡¡¡¡
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿âCREATE ......

SQL SERVER¿ç·þÎñÆ÷²éѯ(SQL SERVER DBLINK)

--¿ç·þÎñÆ÷²éѯÈçÏ£º
SELECT a.*,b.stor_Name
from OPENROWSET('MSDASQL',
   'DRIVER={SQL Server};SERVER=tom;UID=sa;PWD=123',
   pubs.dbo.authors) AS a,stores b
ORDER BY a.au_lname, a.au_fname
--ÆäÖУ¬tomΪԶ³Ì·þÎñÆ÷Ãû£¬stores ÊDZ¾»úÊý¾Ý¿âpubsÖеıí
--ÐèҪעÒâµÄÊÇÈô¶þ¸ö±íÖÐµÄ ......

sql µ¼³ö£¬½â¾ösheet±í´óСÏÞÖÆ

CREATE proc sqlToMultiExcelFile
@sqlstr nvarchar(4000), --²éѯÓï¾ä,Èç¹û²éѯÓï¾äÖÐʹÓÃÁËorder by ,Çë¼ÓÉÏtop 100 percent
@primaryKey varchar(100),--·ÖÒ³Ö÷¼ü×Ö¶Î
@path nvarchar(1000), --Îļþ´æ·ÅĿ¼
@fname nvarchar(250), --ÎļþÃû
@sheetname varchar(250)='sheet1' --Òª´´½¨µÄ¹¤×÷±íÃû,Ä ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ