OracleÊý¾Ý¿âWhereÌõ¼þÖ´ÐÐ˳Ðò
1.ORACLE²ÉÓÃ×Ô϶øÉϵÄ˳Ðò½âÎöWHERE×Ó¾ä,¸ù¾ÝÕâ¸öÔÀí,±íÖ®¼äµÄÁ¬½Ó±ØÐëдÔÚÆäËûWHEREÌõ¼þ֮ǰ, ÄÇЩ¿ÉÒÔ¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐëдÔÚWHERE×Ó¾äµÄĩβ.
¡¡¡¡ÀýÈç:
¡¡¡¡(µÍЧ)
¡¡¡¡SELECT … from EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) from EMP WHERE MGR=E.EMPNO);
¡¡¡¡(¸ßЧ)
¡¡¡¡SELECT … from EMP E WHERE 25 < (SELECT COUNT(*) from EMP WHERE MGR=E.EMPNO) AND SAL > 50000 AND JOB = ‘MANAGER’;
¡¡¡¡2.SELECT×Ó¾äÖбÜÃâʹÓÃ’*’
¡¡¡¡µ±ÔÚSELECT×Ó¾äÖÐÁгöËùÓеÄCOLUMNʱ,ʹÓö¯Ì¬SQLÁÐÒýÓà ‘*’ ÊÇÒ»¸ö·½±ãµÄ·½·¨.¿ÉÊÇ,ÕâÊÇÒ»¸ö·Ç³£µÍЧµÄ·½·¨. ʵ¼ÊÉÏ,ORACLEÔÚ½âÎöµÄ¹ý³ÌÖÐ, »á½«’*’ ÒÀ´Îת»»³ÉËùÓеÄÁÐÃû, Õâ¸ö¹¤×÷ÊÇͨ¹ý²éѯÊý¾Ý×ÖµäÍê³ÉµÄ, ÕâÒâζ׎«ºÄ·Ñ¸ü¶àµÄʱ¼ä.
¡¡¡¡3.ʹÓñíµÄ±ðÃû(Alias)
¡¡¡¡µ±ÔÚSQLÓï¾äÖÐÁ¬½Ó¶à¸ö±íʱ, ÇëʹÓñíµÄ±ðÃû²¢°Ñ±ðÃûǰ׺ÓÚÿ¸öColumnÉÏ.ÕâÑùÒ»À´,¾Í¿ÉÒÔ¼õÉÙ½âÎöµÄʱ¼ä²¢¼õÉÙÄÇЩÓÉColumnÆçÒåÒýÆðµÄÓï·¨´íÎó.
¡¡¡¡×¢£ºColumnÆçÒåÖ¸µÄÊÇÓÉÓÚSQLÖв»Í¬µÄ±í¾ßÓÐÏàͬµÄColumnÃû,µ±SQLÓï¾äÖгöÏÖÕâ¸öColumnʱ,SQL½âÎöÆ÷ÎÞ·¨ÅжÏÕâ¸öColumnµÄ¹éÊô
Ïà¹ØÎĵµ£º
Ŀǰ£¬ÕýÔò±í´ïʽÒѾÔںܶàÈí¼þÖеõ½¹ã·ºµÄÓ¦Ó㬰üÀ¨*nix£¨Linux, UnixµÈ£©£¬HPµÈ²Ù×÷ϵͳ£¬PHP£¬C#£¬JavaµÈ¿ª·¢»·¾³¡£
Oracle 10gÕýÔò±í´ïʽÌá¸ßÁËSQLÁé»îÐÔ¡£ÓÐЧµÄ½â¾öÁËÊý¾ÝÓÐЧÐÔ£¬ ÖØ¸´´ÊµÄ±æÈÏ, Î޹صĿհ׼ì²â£¬»òÕß·Ö½â¶à¸öÕýÔò×é³É
µÄ×Ö·û´®µÈÎÊÌâ¡£
Oracle 10gÖ§³ÖÕýÔò±í´ïʽµÄËĸöк¯Êý·Ö±ðÊÇ£ºREGEXP_L ......
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²Å¿ÉÄܱ»Ê¹Óõ½£©Ä£Ê½Ï£¬ÓÅ»¯Æ÷¼ÆËã´ú ......
OracleÖеÄdecodeÓ÷¨
Decode(Ìõ¼þ£¬Öµ1£¬ÏÔʾֵ1£¬Öµ2£¬ÏÔʾֵ2£¬…… Öµn£¬ÏÔʾֵn)
Ó¦ÓþÙÀý£º
select t.res_id,
t.res_size || '(kb)' as res_size,
decode(t.res_type,1,'Ä£°åÇø','0','ÎĵµÇø') res_type,
......
Oracle ·ÖÇø±í
OracleÌṩÁË·ÖÇø¼¼ÊõÒÔÖ§³ÖVLDB(Very Large DataBase)¡£·ÖÇø±íͨ¹ý¶Ô·ÖÇøÁеÄÅжϣ¬°Ñ·ÖÇøÁв»Í¬µÄ¼Ç¼£¬·Åµ½²»Í¬µÄ·ÖÇøÖС£·ÖÇøÍêÈ«¶ÔÓ¦ÓÃ͸Ã÷¡£
OracleµÄ·ÖÇø±í¿ÉÒÔ°üÀ¨¶à¸ö·ÖÇø£¬Ã¿¸ö·ÖÇø¶¼ÊÇÒ»¸ö¶ÀÁ¢µÄ¶Î£¨SEGMENT£©£¬¿ÉÒÔ´æ·Åµ½²»Í¬µÄ±í¿Õ¼äÖС£²éѯʱ¿ÉÒÔͨ¹ý²éѯ±íÀ´·ÃÎʸ÷¸ö·ÖÇøÖеÄÊý¾Ý£ ......
²éѯ·¢ÉúËÀËøµÄselectÓï¾ä
select sql_text from v$sql where hash_value in
(select sql_hash_value from v$session where sid in
(select session_id from v$locked_object))
---------------------------------------------------------
¹ØÓÚÊý¾Ý¿âËÀËøµÄ¼ì²é·½·¨
Ò»¡¢   ......