oracle µÝ¹é
sqlÓï¾ä£º
select bid from t_branch c start with c.upbid ='11000000' connect by prior c.bid=c.upbid
˵Ã÷£º
1¡¢Í³¼ÆÄ³¸ö»ú¹¹ÏÂËùÓеÄ×ÓËï»ú¹¹¡£Èçͳ¼Æ±±¾©»ú¹¹ÏµÄ×ÓËï»ú¹¹£¬°üÀ¨£º³¯ÑôÇø»ú¹¹¡¢º£µíÓªÏú»ú¹¹¡¢¡¢¡¢ÇàÁúÇÅÏç»ú¹¹¡¢¡¢¡¢¡¢Ò»Ö±µ½×îµ×²ãµÄ»ú¹¹¡£
2¡¢upbidÊÇÖ¸Éϼ¶»ú¹¹µÄID¡£º£µíÇø»ú¹¹ID(bid)µÄÉϼ¶»ú¹¹ID(upbid)Ϊ11000000£¬Ò²¾Í˵ֱ½ÓËùÊôµÄ»ú¹¹ÎªÖ±½Ó»ú¹¹¡£ÇàÁúÇÅ»ú¹¹µÄÉϼ¶»ú¹¹Îªº£µíÇø»ú¹¹¡£
3¡¢connect by prior ΪoracleµÝ¹é·½·¨¡£
Ïà¹ØÖªÊ¶£º
OracleÖÐstart with...connect by prior×Ó¾äÓ÷¨ connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±íÖдæÔÚÁ½¸ö×Ö¶Î:
org_id,parent_idÄÇôͨ¹ý±íʾÿһÌõ¼Ç¼µÄparentÊÇË£¬¾Í¿ÉÒÔÐγÉÒ»¸öÊ÷×´½á¹¹¡£
ÓÃÉÏÊöÓï·¨µÄ²éѯ¿ÉÒÔÈ¡µÃÕâ¿ÃÊ÷µÄËùÓмǼ¡£
ÆäÖУº
Ìõ¼þ1 ÊǸù½áµãµÄÏÞ¶¨Óï¾ä£¬µ±È»¿ÉÒÔ·Å¿íÏÞ¶¨Ìõ¼þ£¬ÒÔÈ¡µÃ¶à¸ö¸ù½áµã£¬Êµ¼Ê¾ÍÊǶà¿ÃÊ÷¡£
Ìõ¼þ2 ÊÇÁ¬½ÓÌõ¼þ£¬ÆäÖÐÓÃPRIOR±íʾÉÏÒ»Ìõ¼Ç¼£¬±ÈÈç CONNECT BY PRIOR org_id = parent_id¾ÍÊÇ˵ÉÏÒ»Ìõ¼Ç¼µÄorg_id ÊDZ¾Ìõ¼Ç¼µÄparent_id£¬¼´±¾¼Ç¼µÄ¸¸Ç×ÊÇÉÏÒ»Ìõ¼Ç¼¡£
Ìõ¼þ3 ÊǹýÂËÌõ¼þ£¬ÓÃÓÚ¶Ô·µ»ØµÄËùÓмǼ½øÐйýÂË¡£
¼òµ¥½éÉÜÈçÏ£º
ÔçɨÃèÊ÷½á¹¹±íʱ£¬ÐèÒªÒÀ´Ë·ÃÎÊÊ÷½á¹¹µÄÿ¸ö½Úµã£¬Ò»¸ö½ÚµãÖ»ÄÜ·ÃÎÊÒ»´Î£¬Æä·ÃÎʵIJ½ÖèÈçÏ£º
µÚÒ»²½£º´Ó¸ù½Úµã¿ªÊ¼£»
µÚ¶þ²½£º·ÃÎʸýڵ㣻
µÚÈý²½£ºÅжϸýڵãÓÐÎÞδ±»·ÃÎʵÄ×ӽڵ㣬ÈôÓУ¬ÔòתÏòËü×î×ó²àµÄδ±»·ÃÎʵÄ×Ó½Ú£¬²¢Ö´Ðеڶþ²½£¬·ñÔòÖ´ÐеÚËIJ½£»
µÚËIJ½£ºÈô¸Ã½ÚµãΪ¸ù½Úµã£¬Ôò·ÃÎÊÍê±Ï£¬·ñÔòÖ´ÐеÚÎå²½£»
µÚÎå²½£º·µ»Øµ½¸Ã½ÚµãµÄ¸¸½Úµã£¬²¢Ö´ÐеÚÈý²½Öè¡£
×ÜÖ®£ºÉ¨ÃèÕû¸öÊ÷½á¹¹µÄ¹ý³ÌÒ²¼´ÊÇÖÐÐò±éÀúÊ÷µÄ¹ý³Ì¡£
Ïà¹ØÎĵµ£º
IDÊÇÖ÷½¡£¬ÊµÏÖ²åÈëÒ»¸öNAME,ID×Ô¶¯Ôö¼Ó
SQL> create table t1
2 (
3 id & ......
oracleµÄÌåϵ̫ÅÓ´óÁË£¬¶ÔÓÚ³õѧÕßÀ´Ëµ£¬ÄÑÃâ»áÓÐЩÎÞ´ÓÏÂÊֵĸоõ£¬Ê²Ã´¶¼Ïëѧ£¬½á¹ûʲô¶¼Ñ§²»ºÃ£¬ËùÒÔ°Ñѧϰ¾Ñé¹²Ïíһϣ¬Ï£ÍûÈøոÕÈëÃŵÄÈ˶ÔoracleÓÐÒ»¸ö×ÜÌåµÄÈÏʶ£¬ÉÙ×ßһЩÍä·¡£
Ò»¡¢¶¨Î»
oracle·ÖÁ½´ó¿é£¬Ò»¿éÊÇ¿ª·¢£¬Ò»¿éÊǹÜÀí¡£¿ª·¢Ö÷ÒªÊÇдд´æ´¢¹ý³Ì¡¢´¥·¢Æ÷ʲôµÄ£¬»¹ÓоÍÊÇÓÃOracle ......
µ¼ÈëÊý¾ÝµÃʱºò£¬Óöµ½Ò»¸öÎÊÌ⣬Ïë°ÑÁÐÃû˳Ðò¸Ä±äһϡ£ÔÚÍøÉÏËÑË÷µ½ÕâÆªÎÄÕ£¬Ã»È¥ÊÔÑé¡£ÌùÉÏÀ´£¬ÒÔºóÓлú»áÊÔÑéÏ¡£
£¨http://www.im80hou.com/html/oracle/2009/0710/712.html£©
°´ÕÕ¹ØÏµÊý¾Ý¿âµÄÀíÂÛ£¬ÐÐÓëÁж¼ÊÇÎÞÐòµÄ£¬µ«ÔÚʵ¼ÊÓ¦ÓÃÖÐÓÐʱÐèҪȷ¶¨ÁеÄ˳Ðò¡£µ«ÔÚOracleÖУ¬Ò»µ©±í¶¨ÒåºÃ£¬ÔÙÏëÐÞ¸ÄÁеÄ˳Ðò¿ ......
oracle top N
1.ÔÚORACLEÖÐʵÏÖSELECT TOP N
ÓÉÓÚORACLE²»Ö§³ÖSELECT TOPÓï¾ä£¬ËùÒÔÔÚORACLEÖо³£ÊÇÓÃORDER BY¸úROWNUMµÄ×éºÏÀ´ÊµÏÖSELECT TOP NµÄ²éѯ¡£
¼òµ¥µØËµ£¬ÊµÏÖ·½·¨ÈçÏÂËùʾ£º
SELECT¡¡ÁÐÃû£±£®£®£®ÁÐÃû£î¡¡from
......