oracle¶ÔtopµÄÖ§³Ö
1.ÔÚORACLEÖÐʵÏÖSELECT TOP N
ÓÉÓÚORACLE²»Ö§³ÖSELECT TOPÓï¾ä£¬ËùÒÔÔÚORACLEÖо³£ÊÇÓÃORDER BY¸úROWNUMµÄ×éºÏÀ´ÊµÏÖSELECT TOP NµÄ²éѯ¡£
¼òµ¥µØËµ£¬ÊµÏÖ·½·¨ÈçÏÂËùʾ£º
SELECT¡¡ÁÐÃû£±£®£®£®ÁÐÃû£î¡¡from
(SELECT¡¡ÁÐÃû£±£®£®£®ÁÐÃû£î¡¡from ±íÃû ORDER BY ÁÐÃû£±£®£®£®ÁÐÃû£î)
WHERE ROWNUM <= N£¨³é³ö¼Ç¼Êý£©
ORDER BY ROWNUM ASC
ÏÂÃæ¾Ù¸öÀý×Ó¼òµ¥ËµÃ÷һϡ£
¹Ë¿Í±ícustomer(id,name)ÓÐÈçÏÂÊý¾Ý£º
ID NAME
01 first
02 Second
03 third
04 forth
05 fifth
06 sixth
07 seventh
08 eighth
09 ninth
10 tenth
11 last
Ôò°´NAMEµÄ×Öĸ˳³é³öǰÈý¸ö¹Ë¿ÍµÄSQLÓï¾äÈçÏÂËùʾ£º
SELECT * from
(SELECT * from CUSTOMER ORDER BY NAME)
WHERE ROWNUM <= 3
ORDER BY ROWNUM ASC
Êä³ö½á¹ûΪ£º
ID NAME
08 eighth
05 fifth
01 first
2.ÔÚTOP N¼Í¼Öгé³öµÚM£¨M <= N£©Ìõ¼Ç¼
Ôڵõ½ÁËTOP NµÄÊý¾ÝÖ®ºó£¬ÎªÁ˳é³öÕâNÌõ¼Ç¼ÖеĵÚMÌõ¼Ç¼£¬ÎÒÃÇ¿ÉÒÔ¿¼ÂÇ´ÓROWNUM×ÅÊÖ¡£ÎÒÃÇÖªµÀ£¬ROWNUMÊǼǼ±íÖÐÊý¾Ý±àºÅµÄÒ»¸öÒþ²Ø×ӶΣ¬ËùÒÔ¿ÉÒÔÔڵõ½TOP NÌõ¼Ç¼µÄʱºòͬʱ³é³ö¼Ç¼µÄROWNUM£¬È»ºóÔÙ´ÓÕâNÌõ¼Ç¼ÖгéÈ¡¼Ç¼±àºÅΪMµÄ¼Ç¼£¬¼´Ê¹ÎÒÃÇÏ£ÍûµÃµ½µÄ½á¹û¡£
´ÓÉÏÃæµÄ·ÖÎö¿ÉÒÔºÜÈÝÒ׵õ½ÏÂÃæµÄSQ
Ïà¹ØÎĵµ£º
http://www.javaeye.com/topic/366991#
×÷Ϊһ¸ö¿ª·¢ÈËÔ±£¬¿ªÊ¼ÈÏÕæÏµÍ³Ñ§Ï°
Oracle SQLÒ²Ö»ÓÐÔÂÓ֮࣬ǰµÄ
SQLÖª
ʶ½ö½öÊÇÏîÄ¿ÀïÃæÓõ½Ê²Ã´¾ÍÈ¥¿´Ê²Ã´£¬¼òµ¥Ëµ¾ÍÊÇ
Read The Fxxking Guide¡£ÔÚϵͳѧϰ
Oracle
SQL֮ǰ£¬°³µÄÏë·¨¾ÍÊÇ“°´ÕÕÐèÇóÍê³É¹¦ÄÜ£¬Ê£ÏµĽ»¸ø
DBAÀ´´¦À픡£Õâ¸öÏë·¨´ÓÕûÌåÀ´¿´ÏÔ ......
--´´½¨±í¿Õ¼ä
create tablespace Ãû³Æ
(
datafile='·¾¶\Ãû³Æ.ora',
size='50M',
autoextend='on'
)
/
--´´½¨ÁÙʱ±í¿Õ¼ä
create temporary tablespace Ãû³Æ
(
tempfile='·¾¶\Ãû³Æ.ora',
size='50M',
autoextend='on'
)
/
--´´½¨Óû§
create user Óû§Ãû idtenified by ÃÜÂë
/
--ΪÓû§Ö¸¶¨ ......
ÔÚÄ³Ð©ÌØÊâµÄÇé¿öÏ£¬ÈçÒòÎªÍøÂç»òÕßXÅäÖõĹØÏµÎÞ·¨Á¬½Óµ½X server»òÕßÖ÷»úÉÏûÓÐX£¬¾Í¿ÉÒÔʹÓþ²Ä¬°²×°µÄ·½Ê½°²×°Êý¾Ý¿â£¬Í¬ÑùÈç¹ûÐèÒª´ó¹æÄ£²¿Êð£¬Ôò¾²Ä¬°²×°½«»á´ó´ó¼õÇáDBAµÄÖØ¸´ÀͶ¯Á¦£¬¶øÇÒ¾²Ä¬°²×°²»ÐèÒªX£¬´Ó°²×°Ð§ÂÊ
ÔÚÄ³Ð©ÌØÊâµÄÇé¿öÏ£¬ÈçÒòÎªÍøÂç»òÕßXÅäÖõĹØÏµÎÞ·¨Á¬½Óµ½X server»òÕßÖ÷»úÉÏûÓÐX£ ......
¾¡Á¿ÉÙÓÃIN²Ù×÷·û£¬»ù±¾ÉÏËùÓеÄIN²Ù×÷·û¶¼¿ÉÒÔÓÃEXISTS´úÌæ¡£
²»ÓÃNOT IN²Ù×÷·û£¬¿ÉÒÔÓÃNOT EXISTS»òÕßÍâÁ¬½Ó+Ìæ´ú¡£
OracleÔÚÖ´ÐÐIN×Ó²éѯʱ£¬Ê×ÏÈÖ´ÐÐ×Ó²éѯ£¬½«²éѯ½á¹û·ÅÈëÁÙʱ±íÔÙÖ´ÐÐÖ÷²éѯ¡£¶øEXISTÔòÊÇÊ×Ïȼì²éÖ÷²éѯ£¬È»ºóÔËÐÐ×Ó²éѯֱµ½ÕÒµ½µÚÒ»¸öÆ¥ÅäÏî¡£NOT EXISTS±ÈNOT INЧÂÊÉԸߡ£µ«¾ßÌåÔÚÑ¡ÔñIN»òEXIST² ......
OracleÖеÄHash JoinÏé½â
Ò»¡¢ hash join¸ÅÄî
Hashjoin(HJ)ÊÇÒ»ÖÖÓÃÓÚequi-join£¨¶øanti-join¾ÍÊÇʹÓÃNOT INʱµÄjoin£©µÄ¼¼Êõ¡£
ÔÚOracleÖУ¬ËüÊÇ´Ó7.3¿ªÊ¼ÒýÈëµÄ£¬ÒÔ´úÌæsort-mergeºÍnested-loop join·½Ê½£¬
Ìá¸ßЧÂÊ¡£ÔÚCBO£¨hash joinÖ»ÓÐÔÚCBO²Å¿ÉÄܱ»Ê¹Óõ½£©Ä£Ê½Ï£¬ÓÅ»¯Æ÷¼ÆËã´ú ......