oracle ±Ê¼Ç IX Ö®ÄÚÁª¡¢×óÁª¡¢ÓÒÁª
½éÉÜÒ»ÏÂÄÚÁª¡¢×óÁª¡¢ÓÒÁª
Ò».ÏÈ¿´Ò»Ð©×î¼òµ¥µÄÀý×Ó
Àý×Ó
Table A
aid adate
1 a1
2 a2
3 a3
TableB
bid bdate
1 b1
2 b2
4 b4
Á½¸ö±ía,bÏàÁ¬½Ó,Ҫȡ³öidÏàͬµÄ×Ö¶Î
select * from a inner join b on a.aid = b.bidÕâÊǽöÈ¡³öÆ¥ÅäµÄÊý¾Ý.
´ËʱµÄÈ¡³öµÄÊÇ:
1 a1 b1
2 a2 b2
ÄÇôleft join Ö¸:
select * from a left join b on a.aid = b.bid
Ê×ÏÈÈ¡³öa±íÖÐËùÓÐÊý¾Ý,È»ºóÔÙ¼ÓÉÏÓëa,bÆ¥ÅäµÄµÄÊý¾Ý
´ËʱµÄÈ¡³öµÄÊÇ:
1 a1 b1
2 a2 b2
3 a3 ¿Õ×Ö·û
ͬÑùµÄÒ²ÓÐright join
Ö¸µÄÊÇÊ×ÏÈÈ¡³öb±íÖÐËùÓÐÊý¾Ý,È»ºóÔÙ¼ÓÉÏÓëa,bÆ¥ÅäµÄµÄÊý¾Ý
´ËʱµÄÈ¡³öµÄÊÇ:
1 a1 b1
2 a2 b2
4 ¿Õ×Ö·û b4
LEFT JOIN »ò LEFT OUTER JOIN¡£
×óÏòÍâÁª½ÓµÄ½á¹û¼¯°üÀ¨ LEFT OUTER ×Ó¾äÖÐÖ¸¶¨µÄ×ó±íµÄËùÓÐÐУ¬¶ø²»½ö½öÊÇÁª½ÓÁÐËùÆ¥ÅäµÄÐС£Èç¹û×ó±íµÄijÐÐÔÚÓÒ±íÖÐûÓÐÆ¥ÅäÐУ¬ÔòÔÚÏà¹ØÁªµÄ½á¹û¼¯ÐÐÖÐÓÒ±íµÄËùÓÐÑ¡
ÔñÁбíÁоùΪ¿ÕÖµ
¶þ. 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 a20050111 1 2006032401
Ïà¹ØÎĵµ£º
ǰ¼¸Ìì²Ù×÷Öз¢Ïֵģ¬Ò²²»ÖªµÀÊDz»ÊÇÎÒûÓиÄÅäÖû¹ÊÇÔõôµÄ£¬ÎÒ±¾È˵ÄÊý¾Ý¿â¾ÍÊÇĬÈϰ²×°µÄ£¬È»ºó½«scottÓû§½âËøÁË£¬scottÓû§Ó¦¸ÃÊÇÆÕͨÓû§£¬¶ø²»ÊÇDBAÓû§¡£°´ÕÕ³£Àí·ÖÎö˵£¬ËûÓ¦¸ÃÊDz»ÊÇÄܹ»½øÈëϵͳ£¬Ò»°ãµÄʱºò£¬É趨ȨÏÞµÄʱºò¶¼»áÕâÑùÉè¡£
ÎÒ½«excelµÄÊý¾Ýµ¼ÈëoracleÖУ¬Ö´ÐеÄÈÕÖ¾Îļ ......
Êý¾Ý×ÖµäÊÇOracle´æ·ÅÓйØÊý¾Ý¿âÐÅÏ¢µÄµØ·½£¬ÆäÓÃ;ÊÇÓÃÀ´ÃèÊöÊý¾ÝµÄ¡£±ÈÈçÒ»¸ö±íµÄ´´½¨ÕßÐÅÏ¢£¬´´½¨Ê±¼äÐÅÏ¢£¬ËùÊô±í¿Õ¼äÐÅÏ¢£¬Óû§·ÃÎÊȨÏÞÐÅÏ¢µÈ¡£µ±Óû§ÔÚ¶ÔÊý¾Ý¿âÖеÄÊý¾Ý½øÐвÙ×÷ʱÓöµ½À§ÄѾͿÉÒÔ·ÃÎÊÊý¾Ý×ÖµäÀ´²é¿´ÏêϸµÄÐÅÏ¢¡£
OracleÖеÄÊý¾Ý×ÖµäÓо²Ì¬ºÍ¶¯Ì¬Ö®·Ö¡£¾²Ì¬Êý¾Ý×ÖµäÖ÷ÒªÊÇÔÚÓû§·ÃÎÊÊý¾Ý×Öµäʱ²»»á·¢ ......
select * from sys.smon_scn_time;
--scn Óëʱ¼äµÄ¶ÔÓ¦¹ØÏµ
ÿ¸ô5·ÖÖÓ£¬ÏµÍ³²úÉúÒ»´Îϵͳʱ¼ä±ê¼ÇÓëscnµÄÆ¥Åä²¢´æÈësys.smon_scn_time±í¡£
select * from student as of scn 592258
¾Í¿ÉÒÔ¿´µ½ÔÚÕâ¸ö¼ì²éµãµÄ±íµÄÀúÊ·Çé¿ö¡£
È»ºóÎÒÃǻָ´µ½Õâ¸ö¼ì²éµã
insert into student select * from student a ......
ÔÚORACLE ´óÊý¾ÝÁ¿ÏµķÖÒ³½â¾ö·½·¨¡£Ò»°ãÓýØÈ¡ID ·½·¨£¬»¹ÓÐÊÇÈý²ã ǶÌ×·½·¨
Ò»ÖÖ·ÖÒ³·½·¨
<%
int i = 1;
int numPages = 14;
String pages = request.getParameter("page");
int currentPage = 1;
cu ......
¡¡¡¡decode()º¯ÊýÊÇORACLE PL/SQLÊǹ¦ÄÜÇ¿´óµÄº¯ÊýÖ®Ò»£¬Ä¿Ç°»¹Ö»ÓÐORACLE¹«Ë¾µÄSQLÌṩÁ˴˺¯Êý£¬ÆäËûÊý¾Ý¿â³§É̵ÄSQLʵÏÖ»¹Ã»Óд˹¦ÄÜ¡£
DECODEº¯ÊýÊÇORACLE PL/SQLÊǹ¦ÄÜÇ¿´óµÄº¯ÊýÖ®Ò»£¬Ä¿Ç°»¹Ö»ÓÐORACLE¹«Ë¾µÄSQLÌṩÁ˴˺¯Êý£¬ÆäËûÊý¾Ý¿â³§É̵ÄSQLʵÏÖ»¹Ã»Óд˹¦ÄÜ¡£DECODEÓÐÊ²Ã´Ó ......