ORACLE SQL³£ÓÃÓÅ»¯·½·¨
1 ²éѯsqlÓÅ»¯
1.1 Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò£¨Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧORACLE£©
½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí¡£ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£µ±ORACEL´¦Àí¶à¸ö±íʱ£¬»áÔËÓÃÅÅÐò¼°ºÏ²¢µÄ·½Ê½Á¬½ÓËüÃÇ¡£Ê×ÏÈ£¬É¨ÃèµÚÒ»¸ö±í£¨from×Ó¾äÖÐ×îºóµÄÄǸö±í£©²¢¶Ô¼Ç¼½øÐÐÅÉÐò£¬È»ºóɨÃèµÚ¶þ¸ö±í£¨from×Ó¾äÖÐ×îºóµÚ¶þ¸ö±í£©£¬×îºó½«ËùÓдӵڶþ¸ö±íÖмìË÷³öµÄ¼Ç¼ÓëµÚÒ»¸ö±íÖкÏÊʼǼ½øÐкϲ¢¡£
ÀýÈ磺±íTAB1 16,384Ìõ¼Ç¼
±íTAB2 1Ìõ¼Ç¼
Ñ¡ÔñTAB2×÷Ϊ»ù´¡±í£¨×îºÃµÄ·½·¨£©
Select count(*) from tab1,tab2 Ö´ÐÐʱ¼ä0.96Ãë
Ñ¡ÔñTAB2×÷Ϊ»ù´¡±í£¨²»¼Ñ·½·¨£©
Select count(*) from tab2,tab1 Ö´ÐÐʱ¼ä26.09Ãë
Èç¹ûÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ£¬ÄǾÍÐèҪѡÔñ½»²æ±í£¨intersection table£©×÷Ϊ»ù´¡±í£¬½»²æ±íÊÇÖ¸ÄǸö±»ÆäËû±íËùÒýÓÃµÄ±í¡£
ÀýÈ磺EMP±íÃèÊöÁËLOCATION±íºÍCATEGORY±íµÄ½»¼¯
SELECT *
from LOCATION L£¬
CATEGORY C£¬
EMP E
WHERE E.EPM_NO BETWEEN 1000 AND 2000
AND E.CAT_NO=C.CAT_NO
AND E.LOCN=L.LOCN
½«±ÈÏÂÁÐSQL¸üÓÐЧÂÊ
SELECT *
from EMP E£¬
LOCATION L£¬
CATEGORY C
WHERE E.EPM_NO BETWEEN 1000 AND 2000
AND E.CAT_NO=C.CAT_NO
AND E.LOCN=L.LOCN
1.2 ¼õÉÙ·ÃÎÊÊý¾Ý¿âµÄ´ÎÊý
µ±Ö´ÐÐÿÌõSQLÓï¾äʱ£¬ORACLEÔÚÄÚ²¿Ö´ÐÐÁËÐí¶à¹¤×÷£º½âÎöSQLÓï¾ä£¬¹ÀËãË÷ÒýµÄÀûÓÃÂÊ£¬°ó¶¨±äÁ¿£¬¶ÁÊý¾Ý¿éµÈµÈ¡£Óɴ˿ɼû£¬¼õÉÙ·ÃÎÊÊý¾ÝµÄ´ÎÊý£¬¾ÍÄÜʵ¼ÊÉϼõÉÙORACLEµÄ¹¤×÷Á¿¡£
ÀýÈ磺
ÒÔÏÂÓÐÈýÖÖ·½·¨¿ÉÒÔ¼ìË÷³ö¹ÍÔ±ºÅµÈÓÚ0342»ò0291µÄÖ°Ô±¡£
·½·¨1£¨×îµÍЧ£©
SELECT EMP_NAME,SALARY,GRADE
from EMP
WHERE EMP_NO=342;
SELECT EMP_NAME,SALARY,GRADE
from EMP
WHERE EMP_NO=29;
·½·¨2£¨¸ßЧ£©
SELECT A.EMP_NAME,A.SALARY,A.GRADE,
B.EMP_NAME,B.SALARY,B.GRADE
FORM EMP A,EMP B
WHERE A.EMP_NO=342
AND B.EMP_NO=29
1.3 ¼õÉÙ¶Ô±íµÄ²
Ïà¹ØÎĵµ£º
ORACLEÖÐ×ֶεÄÊý¾ÝÀàÐÍ
×Ö·ûÐÍ char ·¶Î§ ×î´ó2000¸ö×Ö½Ú ¶¨³¤
char(10) 'ÕÅÈý' ºóÌí¿Õ¸ñ6¸ö°Ñ10¸ö×Ö½Ú²¹Âú 'ÕÅÈý &nb ......
¾¹ýÁ½ÌìµÄµ¹ÌÚÖÕÓÚÔÚmacÉÏ×°ºÃoracle10g ÁË¡£ÕâÏÂÍêÃÀÁË++
½Ì³ÌÍøÉÏÓкܺã¬×Ô¼ºÒ²²»¼ÇµÃ²ÎÕÕ¹ý¶àÉÙÆªÁË¡£
Ö»¼ÇÏÂ×Ô¼ºÅöµ½µÄÎÊÌâµã¡£
1,×éÎÊÌâ¡£
ÍêÈ«ÊǸöÈËʹÓã¬ËùÒÔÎÒûÓл¨ÄǸöÏй¤·òȥн¨Ò»´ó¶Ñ×éºÍÓû§£¬
Ïà·´£¬ÎÒ¾ÍÊÇÄõ±Ç°Óû§×°µÄ£¬Ö»²»¹ý£¬°Ñµ±Ç°Óû§Ò²¼ÓÈëÁËROOT×飬Õâ¸ö±È½ÏºÝ¡£
2£¬ÓеĽ ......
µÍ³É±¾»ñÈ¡OracleÏà¹ØÈÏÖ¤£¬È«Ãæ¿ìËÙÕÆÎÕOracle¼¼Êõ
ÔÚÆóҵȺÌåÖУ¬È«Çò500Ç¿£¬ÓÐ98%ÔÚʹÓÃOracle¼¼Êõ£»È«ÇòÊ®´óÒøÐоù²ÉÓÃÁËOracleÓ¦ÓÃϵͳ£¬ÔÚÖйú£¬ÅÅÃûǰ20λµÄÒøÐж¼ÔÚʹÓÃOracle¼¼Êõ£»ÔÚͨÐÅÁìÓò£¬È«Çò20¼Ò¶¥¼¶Í¨ÐŹ«Ë¾È«²¿¶¼ÔÚʹÓÃOracleÓ¦ÓòúÆ·¡£ÔÚÖйú£¬ËùÓеĵçÐÅÓªÔËÉ ......
ÊÖÍ·ÕýÔÚ½øÐÐÒ»¸öÏîÄ¿£¬ÐèҪȫÎļìË÷£¬¾¹ýͬÊÂ×ÐϸËÑË÷·¢ÏÖ£ºoracleÌṩoracle textµÄÈ«ÎļìË÷¹¦ÄÜ¡£
oracle textµÄ¼òµ¥Ó¦ÓþͬʲâÊÔ½á¹ûÕý³££¬°´ÕÕÏîĿҪÇó(ÏîĿԤ¶¨·½°¸wordÎĵµ´æÈëÊý¾Ý¿â(blobÀàÐÍ))ʹÓÃoracle text²éѯ½á¹ûÈ·ÊÇΪ¿Õ£¬Í¬ÊÂÑо¿µ½´ËÖжϡ£
  ......
1£®SQL²¢Ðвéѯ
alter session enable parallel dml execute immediate 'alter session enable parallel dml'; --Ð޸ĻỰ²¢ÐÐDML select /*+parallel(a,4)*/ * from table_name a select /*+parallel(a,8)*/ * from table_name a ......