SQLÓÅ»¯½éÉÜÒ»
Ò»¡¢Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)
ORACLEµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû,Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí. ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í.µ±ORACLE´¦Àí¶à¸ö±íʱ, »áÔËÓÃÅÅÐò¼°ºÏ²¢µÄ·½Ê½Á¬½ÓËüÃÇ.Ê×ÏÈ,ɨÃèµÚÒ»¸ö±í(from×Ó¾äÖÐ×îºóµÄÄǸö±í)²¢¶Ô¼Ç¼½øÐÐÅÉÐò,È»ºóɨÃèµÚ¶þ¸ö±í(from×Ó¾äÖÐ×îºóµÚ¶þ¸ö±í),×îºó½«ËùÓдӵڶþ¸ö±íÖмìË÷³öµÄ¼Ç¼ÓëµÚÒ»¸ö±íÖкÏÊʼǼ½øÐкϲ¢.
ÀýÈç:
±í TAB1 16,384 Ìõ¼Ç¼
±í TAB2 1 Ìõ¼Ç¼
Ñ¡ÔñTAB2×÷Ϊ»ù´¡±í (×îºÃµÄ·½·¨)
select count(*) from tab1,tab2 Ö´ÐÐʱ¼ä0.96Ãë
Ñ¡ÔñTAB1×÷Ϊ»ù´¡±í (²»¼ÑµÄ·½·¨)
select count(*) from tab2,tab1 Ö´ÐÐʱ¼ä26.09Ãë
Èç¹ûÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ, ÄǾÍÐèҪѡÔñ½»²æ±í(intersection table)×÷Ϊ»ù´¡±í, ½»²æ±íÊÇÖ¸ÄǸö±»ÆäËû±íËùÒýÓõıí.
ÀýÈç:
EMP±íÃèÊöÁËLOCATION±íºÍCATEGORY±íµÄ½»¼¯.
SELECT * from LOCATION L , CATEGORY C, EMP E
WHERE E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN
AND E.EMP_NO BETWEEN 1000 AND 2000
½«±ÈÏÂÁÐSQL¸üÓÐЧÂÊ
SELECT E.CAT_NO from EMP E, LOCATION L , CATEGORY C
WHERE E.EMP_NO BETWEEN 1000 AND 2000
AND E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN
¶þ¡¢WHERE×Ó¾äÖеÄÁ¬½Ó˳Ðò
ORACLE²ÉÓÃ×Ô϶øÉϵÄ˳Ðò½âÎöWHERE×Ó¾ä,¸ù¾ÝÕâ¸öÔÀí,±íÖ®¼äµÄÁ¬½Ó±ØÐëдÔÚÆäËûWHEREÌõ¼þ֮ǰ, ÄÇЩ¿ÉÒÔ¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐëдÔÚWHERE×Ó¾äµÄĩβ.
ÀýÈç:
(µÍЧ,Ö´ÐÐʱ¼ä156.3Ãë)
SELECT … from EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER'
AND 25 < (SELECT COUNT(*) from EMP
WHERE MGR=E.EMPNO);
(¸ßЧ,Ö´ÐÐʱ¼ä10.6Ãë)
SELECT … from EMP E
WHERE 25 < (SELECT COUNT(*) from EMP WHERE MGR=E.EMPNO)
AND SAL > 50000
AND JOB = ‘MANAGER';
Èý¡¢SELECT×Ó¾äÖбÜÃâʹÓà ‘ * ‘
µ±ÄãÏëÔÚSELECT×Ó¾äÖÐÁгöËùÓеÄCOLUMNʱ,ʹÓö¯Ì¬SQLÁÐÒýÓà ‘*' ÊÇÒ»¸ö·½±ãµÄ·½·¨.²»ÐÒµÄÊÇ,ÕâÊÇÒ»¸ö·Ç³£µÍЧµÄ·½·¨. ʵ¼ÊÉ
Ïà¹ØÎĵµ£º
/********************************
¹¦ÄÜ£º»ñÈ¡±íµÄ¿Õ¼ä·Ö²¼Çé¿ö
**********************************/
if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table tablespaceinfo   ......
--ÔÚÈÕ³£Î¬»¤£¬¿ª·¢Öг£Óöµ½Ð´Ò»ÏµÁнṹÀàÐ͵ÄsqlÓï¾ä£¬ºÜ·³ºÜÀÛÆäʵ¿ÉÒÔ
--ÀûÓÃSQL*PLUS»·¾³ÃüÁî Éú³É½Å±¾Îļþ
set heading off --¹Ø±ÕÁеıêÌâ
set feedback off --¹Ø±Õ·´À¡ÐÅÏ¢
  ......
Êý¾Ý¿â±¸·ÝʵÀý/**
**Êý¾Ý¿â±¸·ÝʵÀý
**Öì¶þ 2004Äê5ÔÂ
**±¸·Ý²ßÂÔ:
**Êý¾Ý¿âÃû:test
**±¸·ÝÎļþµÄ·¾¶e:\backup
**ÿ¸öÐÇÆÚÌìÁ賿1µã×öÒ»´ÎÍêÈ«±¸·Ý,Ϊ±£ÏÕÆð¼û,±¸·Ýµ½Á½¸öͬÑùµÄÍêÈ«±¸·ÝÎļþtest_full_A.bakºÍtest_full_B.bak
**ÿÌì1µã(³ýÁËÐÇÆÚÌì)×öÒ»´Î²îÒ챸·Ý,·Ö±ð±¸·Ýµ½Á½¸öÎļþtest_df_A.bakºÍtest_df ......
----start
ÔÚSQLÓï¾äÖÐÓ¦¸Ã¾¡Á¿±ÜÃâʹÓÃOR£¬ÒòΪÕâÑù×ö»áÓ°ÏìSQLÓï¾äµÄÐÔÄÜ¡£¿¼ÂÇÏÂÃæµÄÇé¿ö£º
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---ÐÕÃû
BIRTHDAY DATE---ÉúÈÕ
);
ÏÖÔÚÓÐÕâÑùÒ»¸öÎÊÌ⣺ÈÃÄã²éÕÒÒ»ÏÂÉúÈÕÊÇ1949-10-1£¨¹²ºÍ¹úͬÁäÈË£©»ò1978-12-18£¨Ê®Ò»½ìÈýÖÐÈ«»áÕÙ¿ªÊ±¼ä£© ......
----start
ÔÚSQLÓï¾äµÄ WHERE ×Ó¾äÖÐÓ¦¸Ã¾¡Á¿±ÜÃâÔÚ×Ö¶ÎÉÏʹÓú¯Êý£¬ÒòΪÕâÑù×ö»áʹ¸Ã×Ö¶ÎÉϵÄË÷ÒýʧЧ£¬Ó°ÏìSQLÓï¾äµÄÐÔÄÜ¡£¼´Ê¹¸Ã×Ö¶ÎÉÏûÓÐË÷Òý£¬Ò²Ó¦¸Ã±ÜÃâÔÚ×Ö¶ÎÉÏʹÓú¯Êý¡£¿¼ÂÇÏÂÃæµÄÇé¿ö£º
CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---ÐÕÃû
REGISTERDATE TIMESTAMP---×¢² ......