ÉîÈëÁ˽â Oracle 10g ÖÐÐÂÐͲã´Î²éѯѡÏî
ÎÒÃÇ¿ÉÒÔͨ¹ýSTART WITH . . . CONNECT BY . . .×Ó¾äÀ´ÊµÏÖSQLµÄ ²ã´Î²éѯ£¬¶øOracle 10g ΪÆäÌí¼ÓÐí¶àÁËеÄαÁС£Ê®¶àÄêÒÔÀ´£¬Oracle SQL ¾ßÓÐÒÀÕÕ²ã´Î¹ØÏµ½øÐвéѯµÄ¹¦ÄÜ¡£ÀýÈ磬Äã¿ÉÒÔÖ¸¶¨Ò»¸öÆðʼÌõ¼þ£¬È»ºó¸ù¾ÝÒ»¸ö»ò¶à¸öÁ¬½ÓÌõ¼þÀ´È·¶¨º¢×ÓÐеÄÄÚÈÝ¡£¾ÙÀýÀ´Ëµ£¬ÏÖÔÚ¼ÙÉèÎÒÓÐÒ»¸ö±í£¬ÀïÃæ¼Ç¼ÁËÊÀ½çÉϵÄijЩµØÇø£¬Æä±í½á¹¹ÈçÏ£º
¡¡¡¡create table hier
¡¡¡¡(
¡¡¡¡parent varchar2(30),
¡¡¡¡child varchar2(30)
¡¡¡¡);
¡¡¡¡insert into hier values(null,'Asia');
¡¡¡¡insert into hier values(null,'Australia');
¡¡¡¡insert into hier values(null,'Europe');
¡¡¡¡insert into hier values(null,'North America');
¡¡¡¡insert into hier values('Asia','China');
¡¡¡¡insert into hier values('Asia','Japan');
¡¡¡¡insert into hier values('Australia','New South Wales');
¡¡¡¡insert into hier values('New South Wales','Sydney');
¡¡¡¡insert into hier values('California','Redwood Shores');
¡¡¡¡insert into hier values('Canada','Ontario');
¡¡¡¡insert into hier values('China','Beijing');
¡¡¡¡insert into hier values('England','London');
¡¡¡¡insert into hier values('Europe','United Kingdom');
¡¡¡¡insert into hier values('Japan','Osaka');
¡¡¡¡insert into hier values('Japan','Tokyo');
¡¡¡¡insert into hier values('North America','Canada');
¡¡¡¡insert into hier values('North America','USA');
¡¡¡¡insert into hier values('Ontario','Ottawa');
¡¡¡¡insert into hier values('Ontario','Toronto');
¡¡¡¡insert into hier values('USA','California');
¡¡¡¡insert into hier values('United Kingdom','England');
¡¡¡¡ÄÇôÎÒÃÇ¿ÉÒÔʹÓÃSTART WITH . . . CONNECT BY . . .´Ó¾ä½«¸¸¼¶µØÇøÓ뺢×ÓµØÇøÁ¬½ÓÆðÀ´£¬²¢½«Æä²ã´ÎµÈ¼¶ÏÔʾ³öÀ´¡£
¡¡¡¡column child format a40
¡¡¡¡select level,lpad(' ',level*3)||child child
¡¡¡¡from hier
¡¡¡¡start with parent is null
¡¡¡¡connect by prior child = parent;
¡¡¡¡LEVEL CHILD
¡¡¡¡---------- --------------------------
¡¡¡¡1 Asia
¡¡¡¡2 China
¡¡¡¡3 Beijing
¡¡¡¡2 Japan
¡¡¡¡3 Osaka
¡¡¡¡3 Tokyo
¡¡¡¡1 Australia
¡¡¡¡2 New South Wales
¡¡¡¡3 Sydney
¡¡¡¡1 Europe
¡¡¡¡2 United
Ïà¹ØÎĵµ£º
¶ÔÓÚ Oracle µÄ rownum ÎÊÌ⣬ºÜ¶à×ÊÁ϶¼Ëµ²»Ö§³Ö>,>=,=,between...and£¬Ö»ÄÜÓÃÒÔÉÏ·ûºÅ(<¡¢<=¡¢!=)£¬²¢·Ç˵ÓÃ>,>=,=,between..and ʱ»áÌáʾSQLÓï·¨´íÎ󣬶øÊǾ³£ÊDz鲻³öÒ»Ìõ¼Ç¼À´£¬»¹»á³öÏÖËÆºõÊÇĪÃûÆäÃîµÄ½á¹ûÀ´£¬ÆäʵÄúÖ»ÒªÀí½âºÃÁËÕâ¸ö rownum αÁеÄÒâÒå¾Í²»Ó¦¸Ã¸Ðµ½¾ªÆæ£¬Í¬ÑùÊÇαÁУ¬rownum Ó ......
×î½ü·¢ÏÖÒ»¸ö±È½ÏÓÐÒâ˼µÄÎÊÌ⣺
µ±ÎÒÃÇÔÚÖ´ÐÐÒ»Ìõ²éѯÓï¾äʱ£¬Èç¹ûÌõ¼þν´ÊÖк¬Óк¯Êý£¬Èç abs(age)<10£¬´Ëʱ£¬Í¨¹ý²éѯ¼Æ»®¿´µ½µÄ½á¹û¼¯µÄ»ùÊýÖµÓëʵ¼ÊµÄÖµÏà²îºÜ´ó¡£µ±ÎÒÃǸıä²éѯÌõ¼þʱ£¬Èçabs(age)<20£¬ÕâʱµÄ»ùÊýÖµ²»»á¸Ä±ä£¬ºÍabs(age)<10µÃµ½µÄ»ùÊýÖµÒ»Ñù¡£
µ«ÏÖÔÚ»¹Ã»ÕÒµ½ÎÊÌâµÄÔÒò£¬searching... ......
˵µ½HWM,ÎÒÃÇÊ×ÏÈÒª¼òÒªµÄ̸̸ORACLEµÄÂß¼´æ´¢¹ÜÀí.ÎÒÃÇÖªµÀ,ORACLEÔÚÂß¼´æ´¢ÉÏ·Ö4¸öÁ£¶È:±í¿Õ¼ä,¶Î,ÇøºÍ¿é.
(1)¿é:ÊÇÁ£¶È×îСµÄ´æ´¢µ¥Î»,ÏÖÔÚ±ê×¼µÄ¿é´óСÊÇ8K,ORACLEÿһ´ÎI/O²Ù×÷Ò²Êǰ´¿éÀ´²Ù×÷µÄ,Ò²¾ÍÊÇ˵µ±ORACLE´ÓÊý¾ÝÎļþ¶ÁÊý¾Ýʱ,ÊǶÁÈ¡¶àÉÙ¸ö¿é,¶ø²»ÊǶàÉÙÐÐ.
(2)Çø:ÓÉһϵÁÐÏàÁÚµÄ¿é¶ø×é³É,ÕâÒ²ÊÇORACLE¿Õ¼ ......
ÔÚ¹úÄÚÍâÐí¶àOracle DBAÕ¾µãÉÏ£¬Óкܶà²éÕÒ±íÖеÚn¸ö×î´óÖµµÄС¼¼ÇÉ£¬ÕâЩÓï¾äȷʵÏ൱ÇÉÃËüÃǶ¼¶À±Ùõè¾¶µØÓõ½ÁËOracle±íÖеÄÒ»¸öα×ֶΓlevel”¡£µ«ÊÇÔںܶàÇé¿öÏ£¬Õâ¸öÓï¾ä±ä³ÉÁË ÃÀÀöµÄÏÝÚå¡£Èç¹ûÄãÏëÖªµÀΪʲô£¬²¢ÔõÑùÈÆ¹ýËü£¬ÇëÌýÎÒµÀÀ´£¡
Ñо¿Á˼¸Ì죬ÎÒ·¢ÏÖÒ»ÖÖÑÜÉúËã·¨£¬¼´ÕÒ³öµÚn¸öºÍµÚm¸ö×î´óÖ ......
×î½ü×ö¶ÌÐÅȺ·¢ÏîÄ¿ÓÐÒ»¸öÐèÇó,ÐèÒª¿Í»§´óÅúÁ¿(Ê®Íò¼¶)µ¼ÈëÊý¾Ý.
¿ªÊ¼ÊÇÓÃinsertµ¥ÌõÊý¾Ý,10ÍòÌõÊý¾ÝÒª20·ÖÖÓ
ºóÀ´·¢ÏÖ¿ÉÒÔÓÃinsert all Ò»ÌõsqlÒ»´Îµ¼Èë500Ìõ¼Ç¼,ÕâÑù10ÍòÌõÊý¾ÝÖ»ÓÃÁË1.5·ÖÖÓ,µ¼ÈëËÙ¶ÈÌá¸ßÁ˽üÀ´20±¶
ÏÂÃæ¾ÍʹÓÃinsert allµÄÐĵÃÌå»á¼Ç¼ÈçÏÂ.
ʹÓ÷½·¨:
insert all into table_name(col_1,col_2) v ......