Professional Documents
Culture Documents
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
א
אא
١٦١
١٦١ אא
אא א
W،،אא،א
אאאאאאאאאא
א א ،א א א א א א
אאאאאא
؛אאאאאא
K אאא
אאאאאאא
א ،א אא
א א א א א א א ،
א،אאאא
אאאאאאאאאאאאא
א א ،א
Kאא،אא
? א ? ? א א ? א א
Kאאאאאאא
אאאאאאא
،א،אאאא
Kאאאאא
؛ א א א א
Kא
אאאא
١٦١ אא
אא א
Wאא
אאאא
אאאאא
אאא،אאאאא
אאאאא
א
א
א ،
אאאאאאאאאאאאא
אא אא
א،אאא
א אאאא
אKאאאאאא
א
אאא
Kאאאא
א אאאא א
Kאאא
אאאאאאא
אאא
אKא אאאא
Kאאאא
א
DataInformations
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
א א
א
١
אא ١٦١ אא
אא א
Wאא
Kאאאא
Wאא
Wאאא
Kאא J ١
Kאאא J ٢
Kאאאא J ٣
Kאאא J ٤
KESQLאאFאאא J ٥
KSQL PLUS אJ ٦
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kאאאא،א
-١-
אא ١٦١ אא
אא א
J ٣٠٥٣Wאא
J ٣٠٥٣Wא
א
א
J ٣٠٥٣Wא
١١٣ J ٢٣
J ٣٠٥٣Wא
١١٣ א
J ٢٣
١١٣J ٢٣
אאWא ١١٣J ٢٣
ERecordF אא
Wא EFieldF
אא Wא
אא
אא Wא
Wאא
אאWאא
אאWאא
אא W אא
E١Fא
Database Conceptsאא
א،אא
،EKKKKKא،אא،
אא،א אF
ERECORDאF
K
EFIELDFאאא
KDATABASEא
א
KE١F
Wאאא
אאא
אאא
Wאא
-٢-
אא ١٦١ אא
אא א
Type of Database ManagementSystemsאאאא
Hierarchical Relational Network
E٢Fא
-٣-
אא ١٦١ אא
אא א
Wאאאא
Hierarchical database Mangement system אאאא •
אאאאאא
KאאMain Frame
-٤-
אא ١٦١ אא
אא א
-٥-
אא ١٦١ אא
אא א
א א א
Data Retrieveal SELECT אא
INSERT
(DML)
Data Manipulation UPDATE א
Language DELETE
CREATE
Alter א
(DDL) DROP
Data Definition Language
RENAME א
TRUNCATE
COMMIT אא
Transaction Control ROLLBACK אא
SAVEPOINT א
GRANT אא
(DCL)
Data Control Language REVOKE אא
-٦-
אא ١٦١ אא
אא א
scott
tiger
E٤Fא
KSQL* PLUSEF
אאsql*plusאE٤Fא
EאFאETIGERFאESCOTTF
אאKSQLאאאאא
אא،אא
FאEMANAGERFאESYSTEMFא
،אאSQL*PLUS ،Eא
אא،אESQL > Fא
Kאאאא
-٧-
אא ١٦١ אא
אא א
SQL*PLUS אאא
א،אאELSTFא
K SQL > SPOOL OUTWאאא
-٨-
אא ١٦١ אא
אא א
• SQL > @ filename
Kאאאא
-٩-
אא ١٦١ אא
אא א
אא
KETABLE , ROW , COLUMNFאאא–١
؟אאאאאאאאJ ٣
؟SQLSQL*PLUSאאא–٤
؟אאEXFאאE√FJ ٥
EFKאSQL*PLUSאSELECTא •
EFKאאDMLא •
אאאאאSQL> SPOOL א •
EFKא
EFאאאאאאאL 2 4א •
EFאSQL> START א •
EFSQL אאאRUNא •
- ١٠ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٢
אא ١٦١ אא
אא אא א
אESELECTF
Wאא
KאאאאSELECT
Wאא
Wאאא
KSELECTאא J ١
KSELECTא J ٢
KSELECTאאאא אJ ٣
KEAliasesFא אJ ٤
KSELECTאאא אJ ٥
KConcatenation ( | | )אאאא אJ ٦
KאאDISTINCTא אJ ٧
Kdescribe (desc)אאאאאא J ٨
KNULLא אJ ٩
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kאאא
- ١١ -
אא ١٦١ אא
אא אא א
KSELECTאEאFא
- ١٢ -
אא ١٦١ אא
אא אא א
KSQLא
אSQL אאאא
Wאא،
אאא SQL J ١
KNot Case SensitiveSQLא
KE,Fאאא J ٢
KאאSQL J ٣
אא،אאא J ٤
KESELECT , FROM , WHERE , ORDER BYFKeywords
Kאא J ٥
KE;Fאאא J ٦
KE;FאאSQL*PLUSאW J ٧
WSQL
WאאאאאSQL
K אE;Fאא J ١
KSQL > אELF J ٢
KSQL >ERUNFא J ٣
א،SQL
Wאאא
א،אא
אאא
אא،EEMPFאא
EE٣F٦J ١אFEDEPTFאאא
Kאאאא
- ١٣ -
אא ١٦١ אא
אא אא א
KDEPTאאאאWE١F
SQL> SELECT *
2 FROM dept ;
אDEPTאאאאאאאא
אE*FאאEDEPTNO , DNAME , LOCFאא
Kאאא،א
KDEPTאאאWE٢F
SQL> SELECT deptno , dname
2 FROM dept ;
DEPTNO DNAME
------------ ------------------
10 ACCOUNTING
20 RESEARCH
30 SALES
40 OPERATIONS
א،אאא
אאאאאא
،E,Fא
KEDEPTF
- ١٤ -
אא ١٦١ אא
אא אא א
WEAliasesFאא
אאאEAliasesFאא
WאKאא
KאאאEASFא אJ ١
KאאאESpaceFאא אJ ٢
אאE" "Fאאאא אJ ٣
Kאא،
KאWE٣F
SQL> SELECT ename AS name , sal salary , job "employee job"
2 FROM emp ;
NAME SALARY employee job
--------- ------------ -----------------
SMITH 800 CLERK
ALLEN 1600 SALESMAN
WARD 1250 SALESMAN
JONES 2975 MANAGER
MARTIN 1250 SALESMAN
BLAKE 2850 MANAGER
CLARK 2450 MANAGER
SCOTT 3000 ANALYST
KING 5000 PRESIDENT
TURNER 1500 SALESMAN
ADAMS 1100 CLERK
،אאאאאאא
אאNAMEאenameא
E" "Fאאאאא،SALARY
Kאאא
- ١٥ -
אא ١٦١ אא
אא אא א
WSELECTאאאא
א אאאא
١٢אאאא
٥٠٠אא، ESAL*12Fא
אאאאאא KESAL + 500F
Kא
Arithmetic Operatorsאאאאא
KEHF אJ ١
KEJ F אJ ٢
KE*F אJ ٣
KELF אJ ٤
FROMאאאSQLאאאאא
Kאאאאא א
KאאאאWE٤F
SQL> SELECT ename , sal , sal*12 "annual salary"
2 FROM emp ;
3
ENAME SAL annual salary
--------- ------------ -----------------
SMITH 800 9600
ALLEN 1600 19200
WARD 1250 15000
JONES 2975 35700
אאאאאאאאא
K١٢א
- ١٦ -
אא ١٦١ אא
אא אא א
Kאאאאא
KאאאאWE٥F
SQL> SELECT ename , sal , 12*sal+100
2 FROM emp; Wא
٢ ١
KE٢FאE١Fא
ENAME SAL 12*SAL+100
---------- -------------------- --------------------
SMITH 800 9700
ALLEN 1600 19300
KאאאאWE٦F
SQL> SELECT ename , sal , 12*(sal+100)
Wא
2 FROM emp;
١ אא E١Fא
٢
ENAME SAL 12*(SAL+100) KE٢Fא
---------- -------------------- --------------------
SMITH 800 10800
ALLEN 1600 20400
אאאא،אאא
KאאאE٦Fא
- ١٧ -
אא ١٦١ אא
אא אא א
KConcatenation ( || )אאאאא
אE||Fאאאא
א،אאא، Concatenation
Kאא،E' 'Fא
אאE||Fאא אאאא
Kאאemployeesא
SQL> SELECT ename, job , ename||' is a '||job as "employees"
2 FROM emp ;
ENAME JOB employees
---------- --------- -------------------
SMITH CLERK SMITH is a CLERK
ALLEN SALESMAN ALLEN is a SALESMAN
WARD SALESMAN WARD is a SALESMAN
JONES MANAGER JONES is a MANAGER
MARTIN SALESMAN MARTIN is a SALESMAN
אאאEis aFאאאאא
Kאא،E||F
- ١٨ -
אא ١٦١ אא
אא אא א
WאאDISTINCTאא
،אאאאא
،EEMPF אאאאאא
Kאא
- ١٩ -
אא ١٦١ אא
אא אא א
K DESCRIBE(DESC)אאאאאא
אאאאאא
אאאאEDESCRIBEFא
KEDESCF
SQL> DESC emp ;
Name Null? Type
----------------------------------------- -------- -------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
אאאאאאא
؟؟אWא
KNULLאא
א،NULLאא
אאCOMM אא،א
،א
א
KNULLאא COMMא
- ٢٠ -
אא ١٦١ אא
אא אא א
Kאאאא
SQL> SELECT ename, job , sal , comm
2 FROM emp ;
ENAME JOB SAL COMM
---------- ---------------- ----------
800 ----------
SMITH CLERK 800
1600
ALLEN SALESMAN 1600
1250 300
WARD SALESMAN 1250
2975 500
JONES MANAGER 2975
1250 NULL
MARTIN SALESMAN 1250
2850 1400
BLAKE MANAGER 2850
2450
CLARK MANAGER 2450
3000
SCOTT ANALYST 3000
5000
KING PRESIDENT 5000
1500
TURNER SALESMAN 1500 0
COMMSMITHא
K
،ENULLFאאא
Wאא
SQL> SELECT ename, job , sal , 12*sal+comm
2 FROM emp ;
ENAME JOB SAL 12*SAL+COMM
---------- --------- ---------- ----------------------
SMITH CLERK 800 NULL
ALLEN SALESMAN 1600 19500
- ٢١ -
אא ١٦١ אא
אא אא א
אא
אא،אאאאאאאא–١
Wא،
Name Null? Type
--------------------------- ----------- -------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
אאאאא–٢
؟
Wא؟אאאא–٣
JOB
------------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN
אאאא–٤
Wאא
EMPLOYEE_NO EMPLOYEE NAME JOBS
----------------------- -------------------------- ------------------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7566 JONES MANAGER
7654 MARTIN SALESMAN
7698 BLAKE MANAGER
- ٢٢ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
א
א
٣
אא ١٦١ אא
א אא א
א
Wאא
KEאFאא
Wאא
Wאאא
KאEWHEREFא J ١
Kא Comparison Operators אאא J ٢
KEIn,Between,Like,Is NullFאאאא J ٣
KE AND,OR,NOTFאאאא J ٤
Kא אJ ٥
Kא אJ ٦
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
DEPTEMPאאא،אSELECTאא
Kאאאא
- ٢٣ -
אא ١٦١ אא
א אא א
Wאא
אאאא SELECTאאא
אאאאSELECT א،אא
אאא،אא א
א،א א
K؟אאא
אEWHEREFאאא
KEORDER BYFאא،
WEWHEREFא
אEFROMFא
،Comparison Operatorא،
אא،SELECTETRUEFאא
ENo Row SelectedFSELECTEFALSEF
K
WWHEREא
WEWhereFא
KColumns •
KComparison Operators •
Kא •
Kא •
- ٢٤ -
אא ١٦١ אא
א אא א
KWHEREאא
Kאאא
אא •
אא
KE' 'Fא
Kאאאאאא •
אאאאא •
WSQL אאא EFORMATF
YY ،אMON،אDDFEDD-MON-YYF
KEא
WEORDER BYFא
א
،אאא
KSELECT
KORDER BY אא
Kאאא
KSELECT •
KAlies Columns •
אEAscendingFאEASCF •
K(Default)אא
KDescendingאEDESCF •
- ٢٥ -
אא ١٦١ אא
א אא א
،ECLERKFאאאאWE١F
Kאאא
SQL> SELECT ename , job , deptno
2 FROM emp
3 WHERE job = 'CLERK' Kא' 'א
4 ORDER BY deptno
אא،WhereאאאE١Fא
אא،CLERK
אאאא،E=F
E'CLERK'Fאאא،CLERK
אKאאאא א
אאאאאא
Kאאאאא
KORDER BYאא
KWhereאאא
א א
=
>
>=
<
<=
!=<>
- ٢٦ -
אא ١٦١ אא
א אא א
KWHEREאאא
SQL > WHERE OPERATOR
W
- WHERE hiredate = '01-JAN-95' E٩٥١Fא
- WHERE sal >= 1500 K١٥٠٠אא
- WHERE ename = 'SMITH' SMITH א
K3000אאאאWE٢F
SQL> SELECT ename , job , sal
2 FROM emp
3 WHERE sal >= 3000 ;
אאאאאאWE٣F
K
- ٢٧ -
אא ١٦١ אא
א אא א
،אאEcommFאאאאא
אK א א
Kאאאאא
KWHERE א
אאא
W،
א א
א BETWEEN AND
אא IN ( א )
א אא LIKE { % , _ }
Null אא IS NULL
K 25001500 אאאאWE٤F
אאאאWE٥F
KE٧٧٨٨٧٥٦٦٧٩٠٢F
Wאאאאאאא
KE٧٨٣٩FאאE٧٧٨٨٧٥٦٦٧٩٠٢F
KאאאאאאINא
KLIKE{ % , _ }
،אאא
Kאאא
אאE 'A%' Fא،אא(% ) G
KAKאאA
אאAאאE'%A'Fא
KA אאK
KAאאאE'%A%'Fא
- ٢٩ -
אא ١٦١ אא
א אא א
אE'_A%'Fא،אאא( _ ) G
KAאאאאא،אא
KAאא،E'_ _A'Fא
W
KLIKEאאאאא
KS אאWE٦F
K ١٩٨١אאאWE٧F
- ٣٠ -
אא ١٦١ אא
א אא א
KA אאאאWE٨F
- ٣١ -
אא ١٦١ אא
א אא א
KWHERE אאא
א א
TRUEאאTRUEא AND
TRUEאאTRUEא OR
FALSEאאTRUEא،א NOT
،WHEREאאא
אETRUEFא
KאEFALSEF
WANDא
KTRUEאאTRUEאאא
KאאאANDאאא
ANDא אא אא
True True True
False False True
False False False
Null Null True
False Null False
Null Null Null
Wאאאא
KTRUEאFALSE אAND אW
NULL אאANDאNULLאאאW
KFALSEאNULL א
- ٣٢ -
אא ١٦١ אא
א אא א
1100 אאאאWE١٠F
KCLERKא
SQL> SELECT empno , ename , job , sal
2 FROM emp
3 WHERE sal >=1100 AND job='CLERK' ;
T T
ﺟﻤﻠﺔ ﺟﻤﻠﺔ
EMPNO ENAME JOB SAL
----------- ------------ ---------- ---------
7876 ADAMS CLERK 1100
7934 MILLER CLERK 1300
job='CLERK' sal >=1100 אאא
אETRUEFANDאETRUEF
Kאאא
א1100אאאאWE١١F
K500
- ٣٣ -
אא ١٦١ אא
א אא א
WOR א
אאTRUEאאא
KאאאOR אאאKTRUE
OR א אא אא
True True True
True False True
False False False
True Null True
Null Null False
Null Null Null
Wאאאא
KFALSEאTRUE אOR אW
NULL אאORאNULLאאאW
KTRUEאTRUEאNULLא
E2500FאאאאWE١٢F
K MANAGER
SQL> SELECT empno , ename , job , sal
2 FROM emp
3 WHERE sal >2500 OR job='MANAGER' ;
- ٣٤ -
אא ١٦١ אא
א אא א
،אאאא
א٢٥٠٠אE7782Fא
Kאא،EMANAGERFא
אאE1000FאאאאאWE١٣F
KE10F
SQL> SELECT ename , sal , deptno
2 FROM emp
3 WHERE sal<1000 OR deptno=10 ;
אא١٠٠٠אאאאא
א٢٠אאאאא KE١٠Fאא
אE١٠Fאא١٠٠٠אאאK١٠٠٠
Kאא
WNOT א
ETUREFאא ،אאא
Kאאאאא،אEFALSEFNOTא
NOTא א
False True
True False
Null Null
- ٣٥ -
אא ١٦١ אא
א אא א
WאאאNOT א
ENAME JOB
------------ --------
ALLEN SALESMAN
WARD SALESMAN
MARTIN SALESMAN
KING PRESIDENT
TURNER SALESMAN
אאIN( ... ) אאא
KECLERK , MANAGER , ANALYST Fאא
- ٣٦ -
אא ١٦١ אא
א אא א
K30001000אאאאWE١٥F
SQL> SELECT ename , job , sal
2 FROM emp
3 WHERE sal NOT BETWEEN 1000 AND 3000 ;
א،אאאא
KNULL
Kאאאאאאאא
ORDER BY sal DESC
- ٣٧ -
אא ١٦١ אא
א אא א
אא
א2850אאאא אא–١
Wא؟אא
ENAME SAL
------------ --------
KING 5000
SCOTT 3000
FORD 3000
JONES 2975
- ٣٨ -
אא ١٦١ אא
א אא א
؟1982אאאאא–٤
Wא
ENAME HIREDATE
------------ --------------------
SCOTT 09-DEC-82
MILLER 23-JAN-82
؟אאאאא–٥
Wא
ENAME SAL COMM
------------ -------- ----------
ALLEN 1600 300
TURNER 1500 0
MARTIN 1250 1400
WARD 1250 500
؟Aאאאאאא–٦
Wא
ENAME
------------
BLAKE
CLARK
ADAMS
؟LL
אאאאא–٧
Wא
ENAME
------------
ALLEN
MILLER
- ٣٩ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אאאא
אאאא
٤
אאא ١٦١ אא
אאאא אא א
אאאא
SINGLE-ROW FUNCTIONS
Wאא
KSELECTאאאאאאא
Wאא
Wאאא
KאESQLFאאאאא J ١
KSingle-Row Functionsאאאאא J ٢
KCharacter Functions אאאאא J ٣
KNumber Functionsאאאאא J ٤
KDate Functions אאאא J ٥
KConversion Functions אאאא J ٦
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ٤١ -
אאא ١٦١ אא
אאאא אא א
Wאאא
אאאSQL FUNCTIONSאאאא
אאא، SELECTאא
Wא
אאא
SQL FUNCTIONS
א SINGLE-ROW א MULTIPLE-ROW
FUNCTION FUNCTION
א
אאSINGLE_ROW FUNCTIONSאאאאWאא
א
אא א
א
Kא
MULTIPLE_ROW FUNCTIONאאאWאא
אאא
אא
Kאא
- ٤٢ -
אאא ١٦١ אא
אאאא אא א
Single-Row FunctionsWאאאא
אאא
Wא،FROMאאSELECT،
KCharacter Functionsא •
KNumber Functionsא •
KDate Functions א •
KConversion Functions א •
Character FunctionsWאאא
אאK אאא
Kאאא
- ٤٣ -
אאא ١٦١ אא
אאאא אא א
Kאאאאאאא
א א
Select LOWER('GOOD by') from dual ; good by
Select UPPER('GOOD by') from dual ; GOOD BY
Select INITCAP('GOOD') from dual ; Good
Select CONCAT('GOOD' , 'BY') from dual; GOODBY
Select SUBSTR('GOOD BY',2,3) from dual; OOD
Select LENGTH('GOOD') from dual; 4
Select INSTR('GOOD','D') from dual; 4
Select LPAD('AHMED',10,'*') from dual ; *****AHMED
Select RPAD('AHMED',10,'*') from dual ; AHMED*****
Select TRIM('S' FROM 'SAMI') from dual; AMI
אאSQLאאEDUALFאW
Kאאא
Kאאאא
WE١F
SQL> SELECT LOWER(ename) , UPPER(job) , INITCAP(job) , CONCAT(ename, job)
2 FROM emp
3 WHERE sal=3000 ;
LOWER(ENAME) UPPER(JOB) INITCAP(JOB) CONCAT(ENAME, JOB)
---------------------- -------------- ------------------ ---------------------------------
scott ANALYST Analyst SCOTTANALYST
ford ANALYST Analyst FORDANALYST
אאאאא
אאאא
אא
Kא
- ٤٤ -
אאא ١٦١ אא
אאאא אא א
WE٢F
- ٤٥ -
אאא ١٦١ אא
אאאא אא א
WE٣F
WE٣F
KאאאEENAMEFאא •
SאאTRIM('S' FROM ENAME)אאא •
אJONESאTRIMאאא
KאSאSCOTTאS
אא LPAD(ENAME,10,'*')אא •
א،E١٠FאאאE*F
אE*FאLPADא אJONES
אאאאא،א
KEright-justifiedF
E#FאאאRPAD(ENAME,10,'#')אא• א
אאאא ،א א
KEleft-justifiedF
אאSELECTאאאא א
KFROM
- ٤٦ -
אאא ١٦١ אא
אאאא אא א
Number FunctionsWאא
אאK אאא
Kאאא
FUNCTION אא
אאאאא
אnאא
Kn،אא
KאEn=0Fא •
ROUND(column\expression,n)
אאEn>0Fא •
KEאאFאא
אאEn<0Fא •
KEאאFאא
،אאא
Kn
אאEn=0Fא •
Kא
TRUNC(column\expression,n)
אאEn>0Fא •
KEאאFאא
אאEn<0Fא •
KEאאFאא
MOD(m,n) Knאmאא
- ٤٧ -
אאא ١٦١ אא
אאאא אא א
WE٤F
SQL>SELECT ROUND(45.923,0),ROUND(45.923,2),ROUND(45.923,-1),ROUND(45.923,-2)
2 FROM dual ;
אא
WE٥F
SQL> SELECT TRUNC(45.923,0),TRUNC(45.923,2),TRUNC(45.923,-1),TRUNC(45.923,-2)
2 FROM dual ;
TRUNC(45.923,0) TRUNC(45.923,2) TRUNC(45.923,-1) TRUNC(45.923,-2)
---------------------- ----------------------- ------------------------ ------------------------
45 45.92 40 0
،אTRUNCאאאאאאא
אאE٢Fn،אא n
אאאE٥FאE١J Fn،
KאאאE٢J Fn،E٤٠Fא
- ٤٨ -
אאא ١٦١ אא
אאאא אא א
WE٦F
SQL> SELECT ename , sal , comm , MOD(sal,comm)
2 FROM emp
3 WHERE sal=1600 ;
ENAME SAL COMM MOD(SAL,COMM)
---------- ------- ---------- ------------------------
ALLEN 1600 300 100
Kאאאאא
Date FunctionsWאא
א א،EFאאאא
،אאאאא
אאEDD-MON-YYFאאא
אא، אאאא
Kאא
- ٤٩ -
אאא ١٦١ אא
אאאא אא א
Kאאאאא
א
MONTHS_BETWEEN('01-SEP-95' , '11-JAN-94) 19.6774194
א א
א٦
ADD_MONTHS('11-JAN-94' , 6) '11-JUL-94'
א
א
NEXT_DAY('01-SEP-95' , 'FRIDAY') '08-SEP-95'
'01-SEP-95'א
אא
TRUNC('25-JUL-95' , 'YEAR') '01-JAN-95'
אא
Wאא
E––––––––––א–F
(JANURY-FEBRUARY-MARCH-APRIL-MAY-JUNE-JULY-AUGUST-SEPTEMBER-OCTOBER-
NOVEMBER-DECEMBER)
- ٥٠ -
אאא ١٦١ אא
אאאא אא א
Wאאא
WE٧F
SQL> SELECT SYSDATE FROM DUAL;
SYSDATE
---------------
25-01-2004
אאאאאאאאאא
Kא
WE٨F
SQL> SELECT empno, hiredate , MONTHS_BETWEEN(sysdate,hiredate)
2FROM emp
3WHERE hiredate like '%1987' ;
אאאאא
א،אאא
WROUNDאאאא
SQL> SELECT empno, hiredate , ROUND(MONTHS_BETWEEN(sysdate,hiredate))
2FROM emp
3WHERE hiredate like '%1987' ;
- ٥١ -
אאא ١٦١ אא
אאאא אא א
WE٩F
SQL>SELECT empno,hiredate,ADD_MONTHS(HIREDATE,6),LAST_DAY(HIREDATE)
2 FROM emp
3 WHERE hiredate like '%1987' ;
EMPNO HIREDATE ADD_MONTHS (HIREDATE,6) LAST_DAY(HIREDATE)
---------- --------------- ---------------------------------------- --------------------------------
7788 19-04-1987 19-10-1987 30-04-1987
7876 23-05-1987 23-11-1987 31-05-1987
E٦Fא، אאא
Kא،
WE١٠F
SQL> SELECT empno,hiredate,NEXT_DAY(hiredate,'FRIDAY')
2 FROM emp
3 WHERE hiredate like '%1987' ;
אא،אאא
K
- ٥٢ -
אאא ١٦١ אא
אאאא אא א
- ٥٣ -
אאא ١٦١ אא
אאאא אא א
WE١١F
SQL> SELECT sysdate,TO_CHAR(sysdate,'DD/MM/YYYY')
2 FROM dual ;
אאא FORMATא
SYSDATE TO_CHAR(SYADTE,'DD/MM/YYYY')
--------------- -------------------------------------------------
26-01-2004 26/01/2004
אאאאאא
אא KEDD/MM/YYYYF
KEMM/YYYYFאFORMATא،אא
אKE' 'FאאאW
אE" "FFORMATאא
WFORMATאE26 OF 01/2004Fא
KEDD "OF" MM/YYYY)
אאאאאאא
K
YYYY K2004EאHאFא
YY K04א
ETWO THOUSAND FOURF א
YEAR
KYEARא
MM K01 א
MONTH KEJANURYFא
DY KEJANFאאא
DAY KEFRIDAYFא
HH12:MI:SS AM E04:30:50 PMF١٢א
- ٥٤ -
אאא ١٦١ אא
אאאא אא א
WE١٢F
SQL> SELECT empno,TO_CHAR(hiredate,'DAY "OF" MONTH YYYY HH12:MI:SS AM')
2 FROM emp
3 WHERE ename=upper('king') ;
א،KINGאאא
Kא
KTO_CHAR אא
KNUMBERאאאאאW
Wאא
TO_CHAR(NUMBER , 'fmt')
formatאאאא
Kfmt
٢٥٠٠אאאאאא
KE3000FE$3,000Fאא
- ٥٥ -
אאא ١٦١ אא
אאאא אא א
WE١٣F
SQL> SELECT empno,TO_CHAR(sal , '$99,999') salary
2 FROM emp
3 WHERE sal > 2500 ;
EMPNO SALARY
---------- ------------
7566 $2,975
7698 $2,850
7788 $3,000
7839 $5,000
7902 $3,000
אאאאאאאא
K
،אאאאא
9
KאE99F
099 Kא
990 אאא
$99 Kא$
. Kאא
, KEאFא
MI KאאEJ Fא
- ٥٦ -
אאא ١٦١ אא
אאאא אא א
KTO_DATE אא
Wאא
TO_DATE(CHAR , 'fmt')
DATEאאאאא
Kfmtformat
Kאאאא
WE١٤F
SQL> SELECT TO_DATE( 'FEBRUARY 22, 1981' , 'MONTH DD, YYYY' )
2 FROM dual
אE'FEBRUARY 22, 1981'Fאאא א
Kאא
אאFORMATאאW
KאאKאא
- ٥٧ -
אאא ١٦١ אא
אאאא אא א
KTO_NUMBER אא
Wאא
TO_NUMBER(CHAR , 'fmt')
NUMBERאאאאא
Kfmtformat
אאא
אאאאאאאאא
K
- ٥٨ -
אאא ١٦١ אא
אאאא אא א
אאא
،אאאאאאJ ١
؟אאאאא،אא
Wא
EMP_NAME NUMBER SECTION
------------ ------------- -----------
Smith 5 SMIT
Allen 5 ALLE
Ward 4 WARD
Jones 5 JONE
Martin 6 MART
Blake 5 BLAK
Clark 5 CLAR
Scott 5 SCOT
King 4 KING
Turner 6 TURN
Adams 5 ADAM
James 5 JAME
Ford 4 FORD
Miller 6 MILL
אאאא–٢
Wא؟E30Fאא
TITLE
------------
ALLENSALESMAN
WARDSALESMAN
MARTINSALESMAN
BLAKEMANAGER
TURNERSALESMAN
JAMESCLERK
- ٥٩ -
אאא ١٦١ אא
אאאא אא א
؟אאאאאא–٣
Wא
ENAME NUMBER OF YEAR
------------ ---------------------------
SMITH 23
ALLEN 23
WARD 23
JONES 23
MARTIN 22
BLAKE 23
CLARK 23
SCOTT 17
KING 22
TURNER 22
ADAMS 17
JAMES 22
FORD 22
MILLER 22
Wא؟אאא–٤
TODAY
---------------------------
SATURDAY OF 02 / 2004 04:28
א؟אאאאא–٥
W
KEFEBRUARY 22, 2004Fא
MY DATE
-----------------
22/02/2004
- ٦٠ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אאא
אאא
٥
אא ١٦١ אא
אאא אא א
אאא
GROUP FUNCTIONS
Wאא
KSELECTאאאאאא
Wאא
Wאאא
KGroup Functionsאאא J ١
KGroup Functionsאאאא J ٢
KGROUP BY אאאא J ٣
KHAVING אאאאא J ٤
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ٦١ -
אא ١٦١ אא
אאא אא א
Wאא
אEGROUP FUNCTIONSFאאאא
א א،אא
א
SUMאאאא،אאא
Kאאאאא
KSUMאאאאא
ENAME SAL
---------- -----------
SMITH 800
ALLEN 1600
WARD 1250
JONES 2975
MARTIN 1250
BLAKE 2850
CLARK 2450 SQL > SELECT SUM(SAL)
SCOTT 3000 FROM EMP ; 29025
KING 5000
TURNER 1500
ADAMS 1100
JAMES 950
FORD 3000
MILLER 1300
אא
אאSUMאאאא
אאאא،E29025F
א
אאאא ،אאא
Kא
- ٦٢ -
אא ١٦١ אא
אאא אא א
KאאNULLאאאא
Kאאא
WE١F
SQL> SELECT SUM(sal) , MAX(sal) , MIN(sal) , AVG(sal)
2 FROM emp ;
SUM(SAL) MAX(SAL) MIN(SAL) AVG(SAL)
--------------- --------------- -------------- --------------
29025 5000 800 2073.21429
אאאאאאאא
Kא
אא،אMINMAXאאW
KאאKאאאאא
- ٦٣ -
אא ١٦١ אא
אאא אא א
WE٢F
MAX(ENAME) MIN(ENAME)
-------------------- -------------------
WARD ADAMS
Kאאאאאא
WE٣F
AVG( NVL(comm , 0) )
-----------------------------
157.14286
NVLאאאא،אאאאא
אאcommאאאNULLאא
אאאאאאא
K E14FאאNVLאאאא
E14)E4FאNVLאאא
Wאאא
AVG( comm )
-------------------
אאא
550 K ١٤ א
- ٦٤ -
אא ١٦١ אא
אאא אא א
KCOUNT אאא
Wcount א
• COUNT(*) .
• COUNT(column) .
אאאאאא count(*)אא •
whereאא،NULLאא
א
Kאא
KNULLאcount(column)אא •
Kאא
WE٤F
COUNT(COMM) COUNT(*)
-------------------- -------------------
4 6
- ٦٥ -
אא ١٦١ אא
אאא אא א
30אאאאאא
Kאאא
WGROUP BY אאא
אאאא
،אאאאאא
אאGROUP BYא
K
Kgroup byאאאאא
אאאאא
אE3000F20 אאאE5000F10אאא
KE2850F٣٠אא
- ٦٦ -
אא ١٦١ אא
אאא אא א
WE٦F
DEPTNO AVG(SAL)
------------- -------------------
30 1566.66667
20 2175
10 2916.66667
אאאאאאא
Kאא
Wאאאאא
GROUP BYאSELECTא •
Kאאא
אאאא ORDER BYאאא •
Kאא
HAVING אWHEREאאאאאא •
K
WE٧F
- ٦٧ -
אא ١٦١ אא
אאא אא א
WE٨F
אאAVG(sal)אאא،אא
WHEREאאאאא،אWHERE
WE٩FאHAVING אא
WE٩F
DEPTNO AVG(SAL)
------------- -------------------
10 2916.66667
20 2175
אאאאאא
HAVINGאאאKE2000Fאא
Kאאא
KאאאאאSELECTאאא
Kאא
- ٦٨ -
אא ١٦١ אא
אאא אא א
WE١٠F
אאSELECTאאאאא
אאאESALESFאאאא،
KאאאE5000F
KGROUP BYאWHERE אאאאאא
- ٦٩ -
אא ١٦١ אא
אאא אא א
אא
אאא אאא–١
Wא؟א
MAXIMUM MINIMUM SUM AVERAGE
---------------- ---------------- -------- ---------------
5000 800 29025 2073
א؟א אא
א–٣
W
JOB COUNT(*)
---------------- ----------------
ANALYST 2
CLERK 4
MANAGER 3
PRESIDENT 1
SALESMAN 4
Wא؟אאא–٤
NUMBER OF MANAGERS
-----------------------------------
6
- ٧٠ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
א
א
٦
אא ١٦١ אא
א אא א
א
DISPLAYING DATA FROM MULTIPLE TABLES
Wאא
אאאא
Kאא
Wאא
Wאאא
Kאאא J ١
Kאאא J ٢
KEquijoin אאאאא J ٣
KNon-Equijoin אאאאאא J ٤
KOuter Join אאאאאא J ٥
KSelf Join אאאאאא J ٦
Kאאאאאא J ٧
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ٧٢ -
אא ١٦١ אא
א אא א
Wאא
א
אאאאאא،
אאאאאאא
אאא אאאאאא
Wא،אאא
EMP table DEPT table
EMPNO ENAME JOB DEPTNO DEPTNO DNAME LOC
7839 KING PRESIDENT 10 10 ACCOUNT NEW YORK
7698 BLAKE MANAGER 30 20 RESEARCH DALLAS
7782 CLARK MANAGER 10 30 SALES CHICAGO
7566 JONES MANAGER 20 40 OPRATIONS BOSTON
אאKאא
Kאאאאא
Join defination Wא
Kאא
- ٧٣ -
אא ١٦١ אא
א אא א
KWHEREאSELECTאאא
Equijoin Wא
אא،אאא
אאאאEPrimary KeyF
KאאEForeign KeyF
אאאאאאאא
KאEdeptno)
EMP table DEPT table
EMPNO ENAME JOB DEPTNO DEPTNO DNAME LOC
7839 KING PRESIDENT 10 10 ACCOUNT NEW YORK
7698 BLAKE MANAGER 30 20 RESEARCH DALLAS
7782 CLARK MANAGER 10 30 SALES CHICAGO
7566 JONES MANAGER 20 40 OPRATIONS BOSTON
Foreign Key Primary Key
אאSELECTא אא
Kאא،
- ٧٤ -
אא ١٦١ אא
א אא א
WE١F
SQL> SELECT emp.empno , emp.ename , emp.deptno ,
2 dept.deptno , dept.loc
3 FROM emp , dept אא
4 WHERE emp.deptno=dept.deptno ;
EMPNO ENAME DEPTNO DEPTNO LOC
--------------- --------------- -------------- -------------- --------------
7369 SMITH 20 20 DALLAS
7499 ALLEN 30 30 CHICAGO
7521 WARD 30 30 CHICAGO
7566 JONES 20 20 DALLAS
7654 MARTIN 30 30 CHICAGO
7698 BLAKE 30 30 CHICAGO
7782 CLARK 10 10 NEW YORK
7788 SCOTT 20 20 DALLAS
7839 KING 10 10 NEW YORK
7844 TURNER 30 30 CHICAGO
7876 ADAMS 20 20 DALLAS
،אאא
WאSELECTא
אאאאSELECT •
،EDEPTFאא אאאא،EEMPF
אאא
KEemp . empnoFE.Fא
אאאאFROMא •
KEFROM emp,deptF
אאאאאWHEREא •
Kאאא،א
- ٧٥ -
אא ١٦١ אא
א אא א
Wאאאא
א،אאאאאא
WEdFEdeptFא،EeF EempFא
SQL> SELECT e.empno , e.ename , e.deptno ,
2 d.deptno , d.loc
3 FROM emp e , dept d
4 WHERE e.deptno=d.deptno ;
KE١Fא
KINGE١Fאאא
WSELECT
WE٢F
SQL> SELECT e.empno , e.ename , e.deptno ,
2 d.deptno , d.loc
3 FROM emp e , dept d Ee , dF אא
4 WHERE e.deptno=d.deptno
5 AND e.ename = upper('king') ;
EMPNO ENAME DEPTNO DEPTNO LOC
--------------- --------------- -------------- -------------- --------------
7839 KING 10 10 NEW YORK
- ٧٦ -
אא ١٦١ אא
א אא א
Non-Equijoin Wאא
אאאאאאאא
،EZFא
ESALFאאא،
אאאאESALGRADEFא
אאE٤FאE3000Fאאא،א
אאא
KאאESALGRADEFאא
KאSALGRADEאEMPאאא
EMP table SALGRADE table
EMPNO ENAME JOB SAL GRADE LOSAL HISAL
7839 KING PRESIDENT 5000 1 700 1200
7698 BLAKE MANAGER 2850 2 1201 1400
7782 CLARK MANAGER 2450 3 1401 2000
7566 JONES MANAGER 2975 4 2001 3000
7654 MARTIN SALESMAN 1250 5 3001 9999
SAL GRADE
---------- ------------ אא
5000 5
2850 4 אאאא
2450 4
2975 4 א
1250 2
אאאאאא
KNon-Equijoin
- ٧٧ -
אא ١٦١ אא
א אא א
WE٣F
SQL> SELECT e.ename , e.sal , s.grade
2 FROM emp e , salgrade s
3 WHERE e.sal BETWEEN s.losal AND s.hisal ;
ENAME SAL GRADE אא
--------------- --------------- --------------
SMITH 800 1
ADAMS 1100 1
JAMES 950 1
WARD 1250 2
MARTIN 1250 2
MILLER 1300 2
ALLEN 1600 3
TURNER 1500 3
JONES 2975 4
BLAKE 2850 4
CLARK 2450 4
אאאאאאא
WHERE אאאאא
אאאאe.sal BETWEEN s.losal AND s.hisal
Kאאאא
EOuter JoinFאאאאאא
אאאאא אא
Kא
WE٤F
SQL> SELECT e.empno , e.ename , d.deptno , d.dname
2 FROM emp e , dept d
3 WHERE e.deptno(+)=d.deptno ;
אא
אאאא
אאEOuter JoinFאאאאאאאאא
KאאE40F
- ٧٩ -
אא ١٦١ אא
א אא א
EMP table
EMPNO ENAME JOB MGR
7839 KING PRESIDENT
7698 BLAKE MANAGER 7839
7782 CLARK MANAGER 7839
7566 JONES MANAGER 7839
7654 MARTIN SALESMAN 7698
אאEMGRFא
אE7839FאאEBLAKEFא،א
EEMPNOFאEMGRFא،EKINGF
،EEMPNOFאא
KEEMPNOFEMGRFאא
אאאא
EMANAGERFאאאEWORKERFא
KEEquijoinFאא،אאא
Kאאאאאא
- ٨٠ -
אא ١٦١ אא
א אא א
WE٥F
SQL> SELECT WORKER.empno , WORKER.ename , MANAGER.ename manager
2 FROM emp worker , emp manager
3 WHERE worker.mgr = manager.empno ;
אא
EMPNO ENAME MANAGER
---------- --------------- ---------------
7369 SMITH FORD
7499 ALLEN BLAKE
7521 WARD BLAKE
7566 JONES KING
7654 MARTIN BLAKE
7698 BLAKE KING
7782 CLARK KING
7788 SCOTT JONES
7844 TURNER BLAKE
7876 ADAMS SCOTT
7900 JAMES BLAKE
7902 FORD JONES
7934 MILLER CLARK
EWORKERF
אאאא
אאאאאEMANAGERFאאאא
KESelf JoinFא
Wא
א
א،E١J אאFאא
Kאאא،א
KאEANDFא
Kאאא
- ٨١ -
אא ١٦١ אא
א אא א
WE٦F
SQL> SELECT e.empno , e.ename , e.sal , d.dname , s.grade
2 FROM emp e , dept d , salgrade s
3 WHERE e.deptno=d.deptno
אאאאא
4 AND e.sal BETWEEN s.losal and s.hisal ; אא
EMPNO ENAME SAL DNAME GRADE א
---------- --------------- -------- ------------------ -----------
7369 SMITH 800 RESEARCH 1
7876 ADAMS 1100 RESEARCH 1
7900 JAMES 950 SALES 1
7521 WARD 1250 SALES 2
7654 MARTIN 1250 SALES 2
7934 MILLER 1300 ACCOUNTING 2
7499 ALLEN 1600 SALES 3
7844 TURNER 1500 SALES 3
7566 JONES 2975 RESEARCH 4
7698 BLAKE 2850 SALES 4
7782 CLARK 2450 ACCOUNTING 4
7788 SCOTT 3000 RESEARCH 4
7902 FORD 3000 RESEARCH 4
7839 KING 5000 ACCOUNTING 5
אאאEEMPFאאאא
אאESALGRADEFאEDEPTF
Kאאאאאאא
Kאא
- ٨٢ -
אא ١٦١ אא
א אא א
אא
אאא אאאאאאא–١
Wא،E30F
ENAME DEPTNO DNAME
---------- -------------- --------
ALLEN 30 SALES
WARD 30 SALES
MARTIN 30 SALES
BLAKE 30 SALES
TURNER 30 SALES
JAMES 30 SALES
E٣٠Fאאאאא–٢
WאKאאא
JOB LOC
---------- --------------
CLERK CHICAGO
MANAGER CHICAGO
SALESMAN CHICAGO
אאאאאאא א–٣
Wא؟EDALLASF
ENAME JOB DNAME
---------- -------------- ------------
SMITH CLERK RESEARCH
JONES MANAGER RESEARCH
SCOTT ANALYST RESEARCH
ADAMS CLERK RESEARCH
FORD ANALYST RESEARCH
אאאאאאא–٤
Wא؟E10Fאא
ENAME JOB DNAME SAL GRADE
---------- -------------- ------------ ---------- ------------
MILLER CLERK ACCOUNTING 1300 2
CLARK MANAGER ACCOUNTING 2450 4
KING PRESIDENT ACCOUNTING 5000 5
- ٨٣ -
אא ١٦١ אא
א אא א
אאאא–٥
Wא؟E10Fאא
EMPNO ENAME MANAGER_NO MANAGER_NAME
---------- -------------- --------------------- -------------------------
7782 CLARK 7839 KING
7934 MILLER 7782 CLARK
- ٨٤ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٧
אא ١٦١ אא
אא אא א
אא
SUBQUERIES
Wאא
Kאאאאא
Wאא
Wאאא
Kאאאא J ١
Kאאא J ٢
KSingle-Row Subqueryאאאאא J ٣
Kאאאאאאאאא אJ ٤
KSelectאאא J ٥
KMultiple-Row Subqueryאאאאאא J ٦
Kאאאאאאאא אJ ٧
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ٨٦ -
אא ١٦١ אא
אא אא א
Wאא
KאאESubqueriesFאא
؟EJonesFאאאאא
אא،EJonesFאאאא
אאאא
א
WאKEJonesF
WEJonesFאWאא
SQL > SELECT sal
2 FROM emp
3 WHERE ename = 'JONES' ;
SAL
---------
2975
אאאאאאאאWאא
Wא
SQL > SELECT ename
2 FROM emp
3 WHERE sal > 2975 ;
ENAME
---------
SCOTT
KING
FORD
אאאאאK אא
אאאאאא،אא
WEF אאאאEF
SQL > SELECT ename
2 FROM emp
3 WHERE sal > (SELECT sal FROM emp WHERE ename = 'JONES' ) ;
- ٨٧ -
אא ١٦١ אא
אא אא א
Wאאאא
EאFאא
SQL > SELECT אא
FROM א
WHERE א א ( select אא from ; ) א
EאFאאא
KALLENאאאWE١F
SQL> SELECT empno , ename , job
2 FROM emp
SALESMAN
3 WHERE job =
(select job
from emp EאF אאא
where ename = 'ALLEN' ) ;
EMPNO ENAME JOB
----------- --------------- --------------
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7654 MARTIN SALESMAN
7844 TURNER SALESMAN
EFאאEALLENFאאא
אא،ESALESMANFא
KEאFאאESALESMANF
אEאFאאאאW
KEאFא
- ٨٨ -
אא ١٦١ אא
אא אא א
Wאאא
Wאאא
KSingle-Row Subqueryאא• א
KMultiple-Row Subqueryא• א
KMultiple -Column Subqueryא• א
Wאאא
Kאאאאאא
Kאא
KEKK<= , >=,=,<>Fאאא
אאאאאאאאא
KESingle-Row SubqueryFא
אאאאאאאאא
KEMultiple-Row SubqueryFא
Wאאאאא
Wא
אאE= , < , > , <= , >= , <>Fא
KEאFאאא
אאEALL , ANY , INFא
Kאא
WSelectאאא
WSELECTאאאאא
KEWHERE , HAVING , FROMF
- ٨٩ -
אא ١٦١ אא
אא אא א
Single-Row SubqueriesWאאאא
אא
אE אFא
KE= , < , > , <= , >= , <>Fא
WE٢F
؟EKINGFאאאאאאא
SQL> SELECT ename , sal , deptno
2 FROM emp
3 WHERE deptno = 10
4 ( select deptno
5 from emp
6 where ename='KING' ) ;
ENAME SAL DEPTNO
----------- ----------- ------------
CLARK 2450 10
KING 5000 10
MILLER 1300 10
،EFאאEKINGFאאאא
KEKINGFאאE10Fאאאאאא
WE٣F
؟אאאאא
SQL> SELECT ename , job , sal
2 FROM emp 800
3 WHERE sal =
4 ( select MIN(sal)
5 from emp ) ;
ENAME JOB SAL
----------- ----------- ------------
SMITH CLEARK 800
- ٩٠ -
אא ١٦١ אא
אא אא א
،אאMIN(SAL)אאאאאאא
Kאאאאאאא
WE٤F
אאאאא
؟E20Fאאא
SQL> SELECT deptno , MIN(sal)
2 FROM emp
3 GROUP BY deptno 800
4 HAVING MIN(sal) >
5 ( select MIN(sal)
6 from emp
7 where deptno = 20 ) ;
DEPTNO MIN(SAL)
----------- ------------
10 1300
30 950
א
אאMIN(SAL)אאאאאאא
KאאHAVING
WE٥F
E7369Fאאאאא
KE7876Fאא
Wא
אאאאאאאא
KאאאE7876FאאאאE7369F
- ٩١ -
אא ١٦١ אא
אא אא א
SQL> SELECT ename , job
2 FROM emp E٥F א
3 WHERE job = CLERK
4 (select job
5 from emp
6 where empno=7369 )
7 AND sal > 1100
8 (select sal
9 from emp
10 where empno=7876) ;
ENAME JOB
----------- ------------
MILLER CLERK
אEאFאאאW
Wאא،א
WE٦F
؟ESMITHFאאאא
SQL> SELECT ename , job
2 FROM emp
3 WHERE job =
4 (select job
5 from emp ) ;
ERROR : ORA-01427 : single –row subquery return more than one row .
אאאא
Wאא،אא
SQL> SELECT ename , job
2 FROM emp
3 WHERE job =
4 (select job
5 from emp
where ename='SMITH' ) ;
ECLERKFESMITHFאEאFאאא
Kא
- ٩٢ -
אא ١٦١ אא
אא אא א
Multiple-Row SubqueriesWאאאא
אאאאא
KEALL , ANY , INF
Kאאאאאא
א א
אאא IN
א ANY
א <ANY
א >ANY
א ALL
א <ALL
א >ALL
WE٧F
אאאאאאא
Kא
SQL> SELECT ename , sal , deptno
2 FROM emp
3 WHERE sal IN ( select min(sal)
4 from emp E 800,950,1300 F אא
5 group by deptno ) ;
ENAME SAL DEPTNO
----------- ----------- ------------
SMITH 800 20
JAMES 950 30
MILLER 1300 10
אאאאאא
אאאאא،E800 , 950 , 1300Fאאא
Kא אא
- ٩٣ -
אא ١٦١ אא
אא אא א
Wאא
E800,950,1300Fאאא
Kאאא
KאאאEINFאאאא
אאאאא
KE800,950,1300F
WE٨F
אאאאאא
KECLERKFאECLERKFא
SQL> SELECT empno , ename , job , sal
2 FROM emp
3 WHERE sal <ANY אא
4 ( select SAL
5 from emp E800,950,1100,1300F
6 where job ='CLERK' )
7 AND job <>'CLERK' ;
EMPNO ENAME JOB SAL
----------- ----------- ------------ ------------
7521 WARD SALESMAN 1250
7654 MARTIN SALESMAN 1250
ECLERKFאאאאאא
אאאאאאE800,950,1100,1300F
אאא،אאא
אאESAL<ANYFאKECLERKF
KE800,950,1100,1300Fא
- ٩٤ -
אא ١٦١ אא
אא אא א
WE٩F
אאאאא
Kאא
אאאאאאא
אאאאאאE2916.6667 , 2175 , 1566.6667F
ESAL>ALLFא،אאא
KE2916.6667, 2175,1566.6667Fאאא
- ٩٥ -
אא ١٦١ אא
אא אא א
אא
אאאאאא
א–١
Wא؟BLAKE
ENAME HIREDATE
------------ -------------
ALLEN 20-FEB-81
WARD 22-FEB-81
MARTIN 28-SEP-81
TURNER 08-SEP-80
JAMES 03-DEC-81
،אאאאאאא–٢
Wא؟אאא
EMPNO ENAME
------------ -------------
7839 KING
7902 FORD
7788 SCOTT
7566 JONES
7698 BLAKE
7782 CLARK
؟EDALLASFאאאאאא א–٣
Wא
ENAME DEPTNO JOB
------------ ----------- -------------
JONES 20 MANAGER
FORD 20 ANALYST
SMITH 20 CLERK
SCOTT 20 ANALYST
ADMES 20 CLERK
אאאאאJ ٤
KESALESMANFא
ESALESMANFאא
K؟א
- ٩٦ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אאאא
אאאא
٨
אא ١٦١ אא
אאאא אא א
אאאא
MULTIPLE-COLUMN SUBQUERIES
Wאא
Kאאאאאא
Wאא
Wאאא
Kאאאאאא J ١
KNULLאאאא J ٢
KFROMאאא אJ ٣
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ٩٨ -
אא ١٦١ אא
אאאא אא א
Wאא
אאאאאאאא
אאא
אא،אאאאאא
אאאא،
אאאאאאא
Kאאא
Kאאאאאאאא
Wאאאאא
EאFאא
SQL > SELECT אא
FROM א
WHERE ( ١ , ٢, ...) IN
( select ١ , ٢, ...
from א
Where ) ;
EאFאאא
אאאא
KWHERE
- ٩٩ -
אא ١٦١ אא
אאאא אא א
אאאא
אאאאאאאאא
K
ITEM Tableא
א א א אא א א
ORDER_ID ITEM_ID PRODUCT_ID ACTUAL_PRICE QUANTITY TOTAL
603 1 100860 32 7 224
604 1 100890 58 3 174
604 2 100861 42 2 84
604 3 100860 32 12 384
605 1 100861 45 100 4500
605 2 100870 2.8 500 1400
605 3 100890 58 5 290
605 4 101860 24 50 1200
605 5 101863 9.5 100 950
605 6 102130 3.4 10 34
606 1 102130 3.4 1 3.4
אDEMOאאאאאא
KDEMO
WE١F
א
אאאאאאא
Kא605אא،605אאאא
K605אאאאאאW
W
SQL> select product_id , quantity
2 from item
3 where order_id=605 ;
- ١٠٠ -
אא ١٦١ אא
אאאא אא א
Wאאא
PRODUCT_ID QUANTITY
------------------- ---------------
100861 100
100870 500
100890 5
101860 50
101863 100
102130 10
אאאאאאW
WKא605אא
SQL> SELECT order_id , product_id , quantity
2 FROM item
3 WHERE (product_id , quantity) IN
4 (select product_id , quantity
5 from item
6 where order_id=605 )
7 AND order_id <> 605 ; EאFאאא
א
PRDER_ID PRODUCT_ID QUANTITY
----------------- ------------------- ---------------
617 100861 100
617 100870 500
616 102130 10
אאאאאאאא
אאאאK605א
KאאKאאE605F
- ١٠١ -
אא ١٦١ אא
אאאא אא א
WNULLאאאא
،אNULLאא
Wאאאא
אwhereEno rows selectedF
WאאKאאא
WE٢F
אאאאאאאא
Kא700אא،700 אאא
SQL> SELECT order_id , product_id , quantity
2 FROM item
3 WHERE (product_id , quantity) IN
4 (select product_id , quantity
5 from item
6 where order_id=700 )
7 AND order_id <> 700 ; EאFאאא
NULL
no rows selected
אE700Fא
אNULLאא
אאא،EFא
KEno rows selectedFKא
- ١٠٢ -
אא ١٦١ אא
אאאא אא א
KFROMאאאא
،SELECTאFROMאאאאא
FROM אאא،אא
אאאאאא،א
KFROM א
WE٣F
אאאאאאאאא
Kאאאא
SQL> SELECT e.ename,e.sal,e.deptno,esub.salavg
2 FROM emp e, (select deptno,avg(sal) salavg
3 from emp EאFאאא
4 group by deptno) esub
5 WHERE e.deptno = esub.deptno א
6 AND e.sal > esub.salavg ;
אאFROMאאאא
אאאאאאא
Kאאאאאאאאא
- ١٠٣ -
אא ١٦١ אא
אאאא אא א
אאEesubFאאא
،אאאאאאאאא
W
SQL> select deptno,avg(sal) salavg
2 from emp
3 group by deptno ;
DEPTNO SALAVG
------------ ---------------
10 2916.66667
20 2175
30 1566.66667
א،
WאאאEesubFאemp
WHERE e.deptno = esub.deptno
- ١٠٤ -
אא ١٦١ אא
אאאא אא א
אא
אאאאאאאאאא–١
Wא؟אא
ENAME DEPTNO SAL
------------ ------------- -----------
MARTIN 30 1250
WARD 30 1250
TURNER 30 1500
ALLEN 30 1600
אאאאאאאאא–٢
Wא؟EDALLASFאא
ENAME DNAME SAL
------------ ------------- -----------
SMITH RESEARCH 800
ADAMS RESEARCH 1100
JONES RESEARCH 2975
FORD RESEARCH 3000
SCOTT RESEARCH 3000
؟ESCOTTFאאאאאאאאJ ٣
Wא
ENAME HIREDATE SAL
------------ ------------- -----------
FORD 03-DEC-81 3000
- ١٠٥ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
٩
אא ١٦١ אא
אא אא א
אא
MANIPULATING DATA
Wאא
KאאאאEDMLFאא
Wאא
Wאאא
KEDMLFData Manipulation Languageאא J ١
אאא J ٢
KEINSERT INTOF
KEUPDATEFאאא J ٣
KEDELETE FROMFאא J ٤
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ١٠٧ -
אא ١٦١ אא
אא אא א
Wאא
אSELECTאאא
אאא،אא
אאאאEDMLFאאSQL
אאEROWSF،א
K
WEDMLFאא
KINSERT INTOא
KUPDATE אא
KDELETE FROM א
Kאאא
KEINSERT INTOFא
KEINSET INTOFאאא
Kאא
SQL > INSERT INTO (١, ٢ , ٣ ..... )
VALUES ( ١ , ٢ , ٣ .......) ;
Wאא
KאאאW
KאאאWEKKKKKKK ٣ , ٢, ١F
KאאאWEKKKKKKKKK٣,٢,١F
- ١٠٨ -
אא ١٦١ אא
אא אא א
Wאאאאא
אאאא •
KINSERT
E١ אF،אאאאא •
אKאE١אF
Kא
K' 'אאא •
אאNULL א •
KאEempnoF
EPrimary keyF
אINSERTא •
אאאאאאאא
K
אא אאW
KE١٠Fאאא،EDESC tableF
KאאאאWE١F
SQL> INSERT INTO dept (deptno , dname , loc )
2 VALUES ( 50 , 'DEVELOPMENT' , 'DETROIT') ;
אEDEPTFאאאאEDEPTFאאא
DEPTNO DNAME LOC DEPTNO DNAME LOC
10 ACCOUNT NEW YORK 10 ACCOUNT NEW YORK
20 RESEARCH DALLAS 20 RESEARCH DALLAS
30 SALES CHICAGO 30 SALES CHICAGO
40 OPRATIONS BOSTON 40 OPRATIONS BOSTON
50 DEVELOPMENT DETROIT
אEאFא
- ١٠٩ -
אא ١٦١ אא
אא אא א
EDEVELOPMENTFאE50Fאאא
אאאאאאאא،EDETROITF
אdeptno אאאאK
E' 'Fאאאאא،EnumberF
KEvarchar2F
WENULLF
WאNULLא
KINSERTאNULL אאאאWא
KVALUESאאNULLאWא
אEprimary keyFאא
Wא
KאאאאאאאאWE٢F
SQL> INSERT INTO dept (deptno , dname )
2 VALUES ( 60 , 'MIS' ) ;
אEDEPTFאאא
DEPTNO DNAME LOC
10 ACCOUNT NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPRATIONS BOSTON
50 DEVELOPMENT DETROIT
60 MIS
NULL
،EMISFאE60Fאאא
Wאאא،ELOCFאאNULLא
SQL> INSERT INTO dept (deptno , dname , loc )
2 VALUES ( 60 , 'MIS' , NULL ) ;
- ١١٠ -
אא ١٦١ אא
אא אא א
Wאא
אאEHIREDATEFאESYSDATEFאאא
אא
Wאא
KאWE٣F
SQL> INSERT INTO emp
2 (empno , ename , job, mgr , hiredate , sal , comm , deptno)
3 VALUES
4 (7196 , 'AHMED' , 'SALESMAN' , 7782 , SYSDATE , 2000 , NULL , 10) ;
אאאא
KSYSDATEאא
،INSERTאאאא
Wאאאא
SQL> INSERT INTO emp
VALUES
(7196 , 'AHMED' , 'SALESMAN' , 7782 , SYSDATE , 2000 , NULL , 10) ;
KSubstitution Variablesאאא
،אאאאSQL
אאאאSQLאאא
،אE&FאSQL،
אאKאאא
Ksubstitution Variablesאאאא
- ١١١ -
אא ١٦١ אא
אא אא א
KאאאאאאאאWE٤F
SQL> INSERT INTO dept ( deptno , dname , loc )
2 VALUES (&dept_id , '&dept_name' , '&dept_loc' ) ;
Wאאאאאאאאא
KאE80FאאאE&dept_idF •
KאEEDUCATIONFאאאאE&dept_nameF •
KאEATLANTAFאאאE&dept_locF •
אאאאאאא
K
Wאאאאאאא
Kאאאאאאאאאא
אאאאאאאאWE٥F
K
SQL> INSERT INTO &dept_table ( &dept_id , dname , loc )
2 VALUES ( 80 , 'EDUCATION' , 'ATLANTA' ) ;
- ١١٢ -
אא ١٦١ אא
אא אא א
W
אאאאאWE٦F
KEmanagersF
SQL> INSERT INTO managers (id , name , salary , hiredate)
2 select empno , ename , sal , hiredate
3 from emp
4 where job='MANAGER' ;
Wאאאאאאא
2 select empno , ename , sal , hiredate
3 from emp
4 where job='MANAGER' ;
Kאאא
KEvaluesFא
KEUPDATEFאא
אא
KEUPDATEFאאא
Kאאאאא
SQL > UPDATE
SET ١ = ١ , ٢ = ٢ ......
WHERE ;
- ١١٣ -
אא ١٦١ אא
אא אא א
Wאא
KאאאW
KאאאW٢،١
KאאאאאאW٢،١
אא،EFW
Kאא
Wאאאאא
Kאאא אא •
אאאאאא •
KE' ' F
אאאWHEREאא •
Kא
ESALESFEEDUCATIONF E30FאאWE٧F
SQL> UPDATE dept
2 SET dname='EDUCATION' E30F אאאא
3 WHERE deptno=30 ;
EEDUCATIONFESALESFE30Fאאאא
E30Fאאא،אאאEUPDATE deptFאא
אא؟E30Fאאא، WHEREאא
؟אאWHEREא
אאאאאא
Wאאאא
- ١١٤ -
אא ١٦١ אא
אא אא א
ESALESFEEDUCATIONF E30FאאWE٨F
SQL> UPDATE dept
2 SET dname='EDUCATION' ;
א،EEDUCATIONFאאאאא
KEWHEREFאאאאאאא
Wא
אא،אאאא
אאא
אEBLAKEFאאא،
Wאאא؟א،EWARDF
WE٩F
SQL> UPDATE emp
2 SET (job , deptno) = (select job , deptno from emp where ename='WARD')
3 WHERE ename='BLAKE' ;
EMANAGER 30F אא
1 row updated
אאאאאא
אEBLAKEF
אאSETאאא،EWARDF
KEBLAKEFEjob , deptnoFאא
KEDELETE FROMFא
א
KEDELETE FROMFאאא
- ١١٥ -
אא ١٦١ אא
אא אא א
Kאאאא
SQL > DELETE FROM
WHERE ;
Wאא
KאאאW
אא،EFW
KEאFא
Wאאאאא
אאא WHEREאא •
אא،
Kא
KאאאE40FאאWE١٠F
SQL> DELETE FROM dept
2 WHERE deptno = 40 ;
1 row deleted.
،אאאE40Fאאאא
Kא
KאאWE١١F
SQL> DELETE FROM emp ;
14 row deleted.
- ١١٦ -
אא ١٦١ אא
אא אא א
אאאאאא
KאאWHERE אאא
א،אאאאWF
KEאEROLLBACKFא
KESALESFאאאאאאWE١٢F
SQL> DELETE FROM emp
2 WHERE deptno=( select deptno from dept where dname='SALES' ) ;
אאא؟אאאE10Fאאא
Kאא
WE١٣F
SQL> DELETE FROM dept
2 WHERE deptno= 10 ;
ERROR at line 1 :
ORA-02292 : integrity constraint ( USR.EMP_DEPTNO_FK)
Vaiolated –child record found
אאאאE10Fאא
E10Fאא،אאאא
KEempFאאאא
- ١١٧ -
אא ١٦١ אא
אא אא א
6 row deleted.
SQL> COMMIT ;
E30Fאאאאא
KאCOMMITאא
Wאאא אאאW אא
אEDDLFאאאESQL > EXITF
WEDCLFאא
(CREATE VIEW, CREATE TABLE , DROP TABLE , CONNCET ...... F
Kאאא
- ١١٨ -
אא ١٦١ אא
אא אא א
אא
؟א؟אאא–١
Wא
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
1111 AHMED ENGENEER 7839 01-01-2004 5000 200 10
2222 SAUD SALES 7698 05-02-2003 3000 100 20
אא؟אאאאא–٢
KE7000FEAHMEDF
KE1000Fאא E900Fאאא –٣
K
KE2222FאאJ ٤
אאאאא–٥
؟
- ١١٩ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אא
אא
١٠
א ١٦١ אא
אא אא א
אא
CREATING AND MANAGING TABLES
Wאא
Kאאאא
Wאא
Wאאא
Kאאא J ١
KDATATYPESאא J ٢
Kאא J ٣
Kאאאאא J ٤
EFאאא J ٥
Kא J ٦
K J ٧
Kאאאאאא J ٨
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ١٢١ -
א ١٦١ אא
אא אא א
Wאא
אSQLאאא
אא،EDDLFאE Data Definition LanguageF
א، אא
אאאETablesFאאא
WאאאKא
א א
אאאא א
Table
K
Wא
View
K
א W
Sequence
אאאאא
אאW
Index
Kאאאא،
KWא Synonym
KETablesFאאאאא
- ١٢٢ -
א ١٦١ אא
אא אא א
KDATATYPES אא
אאאאא
Wאאאאא
א א
אאאא Varchar2()א
אאאא
Char()א
אא
אEpFא אא
אEsFא،אאא Number(p,s)
Kאאא
אא Date
E2Fאאאא
Long
K
אא אא
CLOB – BLOB
E4Fא
אאאא
Bfile
KE4F
Kאאאאא
Wאאאאאאאא
Kאאא •
K E30Fא •
KE_ , $ , #Fא •
Kאאאאא •
- ١٢٣ -
א ١٦١ אא
אא אא א
Kאאאא •
KEFROM , SELECT ...Fאאא •
Kאא •
Kאאאא
SQL > CREATE table א (
١ אא ,
٢ אא ,
٣ אא ) ;
KEdept2FאאאWE١F
אא،אEdept2Fאאאאא
אא،E ١٤Fאא،EF
אאאא،E ١٣F
Wאא
SQL > DECRIBE dept2 ;
- ١٢٤ -
א ١٦١ אא
אא אא א
Wאאאאא
،אא
אא אא
אא،א
אא،EEMPFאE30Fא
Wא
KEEMPFאאE30FאWE٢F
SQL > CREATE TABLE dept30
2 AS
3 SELECT empno , ename , sal*12 annsal , hiredate
4 FROM emp אא
5 WHERE deptno = 30 ;
Table created .
אEdept30FE30F אאא
EASFא א،אאאאselect
Edept30Fאא،א
אאאEdept30Fאא،Eempno,ename,annsal,hiredateF
אאאאאאE30F
WאEdept30FאאאKא
SQL > DECRIBE dept30 ;
WאEdept30Fאאא
SQL> SELECT * FROM DEPT30 ;
Edept20Fאאא
Wאא،E20Fאא
Eemp_id , emp_name , salary , start_dateF
- ١٢٦ -
א ١٦١ אא
אא אא א
- ١٢٧ -
א ١٦١ אא
אא אא א
K1420 EDNAMEFאאWE٥F
SQL> ALTER TABLE dept2
2 MODIFY ( dname VARCHAR2(20) );
Table altered .
VARCHAR2(20)dnameאאאא
Wאאאאאא،VARCHAR2(14)
KאEF
אאא
K
KאאEF
KDEPTאאאREGIONאאWE٦F
SQL> ALTER TABLE dept2
2 DROP COLUMN REGION ;
Table altered .
،EDEPT2FאאאEREGIONFאאא
Wאאא
Kא אאא
Kאאאא
Kאאאאא
Kאא
- ١٢٨ -
א ١٦١ אא
אא אא א
KDROPאא
א אא
Kא،אא
KEDEPT30FאאWE٧F
SQL> DROP TABLE dept 30 ;
Table dropped .
אE30F אאאא
KEDEPT30F
KRENAME אאא
אEDEPARTMENTF
אEDEPT2Fא
Wאא
KEDEPARTMENTFEDEPT2FאאאWE٨F
SQL> RENAME dept2 TO deptartment
Table renamed.
،EdepartmentFאאאאא
אאא ، אאא
Kאא
- ١٢٩ -
א ١٦١ אא
אא אא א
Kאאאאאא
Wאאאא
אא،USER TABLESאא
Kאא
،EORACLE SERVERF א א
אא،EDATA DICTIONARYFאא
Kא
W
KאאאאWEUSER_F א
אאאאWEALL_F א
Kא
EDBAFאאWEDBA_F א
Kאאא
SQL> SELECT *
2 FROM user_tables ;
KאאאWE١٠F
SQL> SELECT object_name , object_type
2 FROM user_objects ;
Kאאאאא WE١١F
SQL> SELECT *
2 FROM user_catalog ;
- ١٣٠ -
א ١٦١ אא
אא אא א
אא
א،אאDEPARTMENTאאJ ١
؟אאאאא
Column Name Id Name
Key Type
Nulls/Unigue
FK Table
FK Column
Datatype Number Varchar2
Length 7 25
אא،אא EMPLOYEEJ ٢
؟אאאא
E50FLAST_NAMEאEMPLOYEEJ ٣
WאאאKE25F
Name Null? Type
----------------------------------------- -------- ------------------------
ID NUMBER(7)
LAST_NAME VARCHAR2(50)
FIRST_NAME V ARCHAR2(25)
DEPT_ID NUMBER(7)
- ١٣١ -
א ١٦١ אא
אא אא א
،א א،אFאאEMPLOYEE2–٤
WאאאאEMPאאEאא
؟EID , LAST_NAME , DEPT_IDF
EMPLOYEE2אאFIRST_NAME אJ ٥
؟אאאא
؟EMPLOYEEאאJ ٦
؟EMPLOYEEאEMPLOYEE2אJ ٧
אאאא،EMPLOYEEאLAST_NAME אJ ٨
Kאא
- ١٣٢ -
אאא
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
אאאא
אא
אאא
אאא
١١
אא ١٦١ אא
אאא אא א
אאא
CONSTRAINTS
Wאא
Kאאא
Wאא
Wאאא
KאאאEConstraintsFא J ١
KאאאConstraints אא J ٢
Kאא J ٣
Kאאא J ٤
Kאא J ٥
Kאאא J ٦
Kאאאאא J ٧
Wאאא
K٪١٠٠אאא
Wאא
Wאא
K •
K •
K •
Wאא
Kא
- ١٣٤ -
אא ١٦١ אא
אאא אא א
Wאא
אאאאאא
אא ،אאאאא
אא،א א א
،אאא E100F
،E
אFE100Fאא
א،אא،א
KEאFאEConstraintF
Kאאאאאאאא
- ١٣٥ -
אא ١٦١ אא
אאא אא א
KConstraints אא
Wאאאאאא
EDescriptionFא EconstraintFא
EFאא
NOT NULL
א
EאאאFאאאאאא
UNIQUE
Kאא
אא،אא
Kאאא،אא PRIMARY KEY
Kאא
K
FOREIGN KEY
Kאא
Kאא
CHECK
Kאא
KCreate a Constrait א
Wא
Kאא
Kאא
Kאאא
Kא
- ١٣٦ -
אא ١٦١ אא
אאא אא א
אEdeptFאאאאא
FאאdeptnoאEprimary keyFאא،Edeptno,dnameF
אאאא،אאE
K
אאdname אEnot nullFאא
אאKאאאא אא
KאאENOT NULLF
- ١٣٧ -
אא ١٦١ אא
אאא אא א
KאאאאאWE٢F
SQL > CREATE TABLE dept (
2 deptno NUMBER(2) ,
3 dname VARCHAR2(14) NOT NULL ,
4 loc VARCHAR2(13) ,
5 CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno) ) ;
Eprimary keyFEdeptFאאאאא
אאאאא، E5Fאאא
אאא،אאאE١F
KאEdept_deptno_pkF
KUNIQUE KEY א
אא،אאאא
Kאאאאא
KאאאאEUNIQUEFאWE٣F
SQL > CREATE TABLE dept (
2 deptno NUMBER(2) ,
3 dname VARCHAR2(14) ,
4 loc VARCHAR2(13) ,
5 CONSTRAINT dept_deptno_uk UNIQUE(dname) ) ;
EuniqueFEdeptFאאאאא
א،אאאא אאEdnameFא
Kאא
- ١٣٨ -
אא ١٦١ אא
אאא אא א
Foreign Key Primary Key
אאEdeptnoFאEforeign keyFאאא
Wאאא
אdeptno אEforeign keyFאWE٤F
Kא
SQL > CREATE TABLE emp (
2 empno NUMBER(4) ,
3 ename VARCHAR2(10) NOT NULL ,
4 job VARCHAR2(9) ,
5 mgr NUMBER(4) ,
6 hiredate DATE ,
7 sal NUMBER(7,2) ,
8 comm NUMBER(7,2) ,
9 deptno NUMBER(2) REFERENCES dept(deptno) ) ;
- ١٣٩ -
אא ١٦١ אא
אאא אא א
אEforeign keyFEempFאאאאא
EREFERENCESF؟Eforeign keyF،EdeptnoF
אEdeptnoFאאEdeptnoFאEforeign keyFא
KאאאKDEPTא
Wאאאא
א deptno אEforeign keyFאWE٥F
Kא
SQL > CREATE TABLE emp (
2 empno NUMBER(4) ,
3 ename VARCHAR2(10) NOT NULL ,
4 job VARCHAR2(9) ,
5 mgr NUMBER(4) ,
6 hiredate DATE ,
7 sal NUMBER(7,2) ,
8 comm NUMBER(7,2) ,
9 deptno NUMBER(2) ,
10 CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)
11 REFERENCES dept(deptno) ) ;
KCHECK א
אא،אאאא
אdeptnoא אא،א
،אאE10 , 99Fאאאא
Wאאא
- ١٤٠ -
אא ١٦١ אא
אאא אא א
אאאDEPTNOאECHECKFאWE٦F
Kא
SQL > CREATE TABLE dept (
2 deptno NUMBER(2) ,
3 dname VARCHAR2(14) ,
4 loc VARCHAR2(13) ,
5 CONSTRAINT dept_deptno_ck CHECK(deptno BETWEEN 10 AND 99) ) ;
deptnoאEcheckFEdeptFאאאאא
KE10 ,99Fאאאא
KAdding Constrait אא
אאAlter Table אאאא
Wא
SQL > ALTER TABLE א
ADD CONSTRAINT א א ;
K אאאאאא
KאMGR אEFOREIGN KEYFאWE٧F
SQL > ALTER TABLE emp
2 ADD CONSTRAINT emp_mgr_fk
3 FOREIGN KEY(mgr) REFERENCES emp(empno) ;
Table altered .
- ١٤١ -
אא ١٦١ אא
אאא אא א
אEmgrFאEforeign keyFאאא
Kאאא،EselfjoinFאא
KאאאDEPTNOאEPRIMARY KEYFאWE٨F
SQL > ALTER TABLE DEPT
2 ADD CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno) ;
Table altered .
אאאEdeptnoFאEprimary keyFאאא
Kא
KDROP אאאא
Wאא،Alter Tableאאאאא
KאEemp_mgr_fkFאאאWE٩F
SQL > ALTER TABLE emp
2 DROP CONSTRAINT emp_mgr_fk ;
Table altered .
Eemp_mgr_fkFאEForeign keyFאאאאא
KEempFא
- ١٤٢ -
אא ١٦١ אא
אאא אא א
אאאא
Efroeign keyFאאאאdeptnoאEprimary keyF
אאאא،אא deptnoא
Eforeign keyFאאאאאאאא
Wאאאאא،אאא
אאאאאאאאאWE١٠F
Kאאאאא
SQL > ALTER TABLE dept
2 DROP primary key CASCADE ;
Table altered .
אאאאאאאא
אאא،ECASCADEFאאא
KאEForeign keyFאא
W אאאא
אאאאאא
אאKData Dictionaryאא
Wאאא
- ١٤٣ -
אא ١٦١ אא
אאא אא א
KאאאאWE١١F
SQL > SELECT constraint_name , constraint_type
2 FROM user_constraints
3 WHERE table_name = 'EMP' ;
CONSTRAINT_NAME C
----------------- -
SYS_C00674 C
SYS_C00675 C
EMP_EMPNO_PK P
FK_DEPTNO R
،אאא אאא
אאאEConstraint_typeFאא
W
KCHECKאC א
KPrimary keyאP א
KForeign keyאR א
KUNIQUEאU א
KCHECKאNOT NULLא
Kאאאאא
KאאאWE١٢F
SQL > SELECT constraint_name , column_name
2 FROM user_cons_column
3 WHERE table_name = 'EMP ' ;
- ١٤٤ -
אא ١٦١ אא
אאא אא א
אא
אאאאEDEPARTMENTFאא–١
אאאEprimary keyFא،אאא
؟א
אאEEMPLOYEEF J ٢
،אאאEUNIQUEFא،א
؟אאאEprimary keyFא
KאאאאEFOREIN KEYFאJ ٣
KE1000 , 5000Fאא–٤
Kאאא–٥
KEMPLOYEEאאא–٦
- ١٤٥ -
א ١٦١ אא
אא א
א
א א
١ Wאא
٢ אא
٢ אאא
٤ אאאא
٥ אאא
٥ אאאא
٦ SQLאא
٧ SQL* PLUS
١٠ אא
١١ אאWאא
١٢ SELECTאאא
١٣ אא
١٣ א
١٥ אא
١٦ אאאא
١٧ אאא
١٨ אאאאא
١٩ אאEDISTICTFאא
٢٠ אאאא
٢٠ ENULLFאא
٢٢ אא
א ١٦١ אא
אא א
٢٣ אWאא
٢٤ SELCTאאא
٢٥
٢٥ WHEREא
٢٥ א
٢٦ אא
٢٦ ORDER BYא
٢٦ אא
٢٧ אאא
٢٩ אאאא
٣٣ אא
٣٦ NOTא
٣٩ אא
٤٢ אאאאWאאא
٤٣
٤٤ אאא
٤٨ אאא
٥٠ אא
٥٤ אא
٥٤ TO_CHAR אא
٥٨ TO_DATEאא
٥٩ TO_NUMBERאא
٦٠ אאא
א ١٦١ אא
אא א
٦٢ אאאWאא
٦٣
٦٤ אאאא
٦٦ ECOUNTFאאא
٦٧ EGROUP BYFאא
٦٨ אאאאא
٧١ אא
٧٢ אWאא
٧٣
٧٣ א
٧٤ אא
٧٤ א
٧٧ אא
٧٨ אא
٨٠ אאאא
٨١ א
٨٣ אא
٨٥
אאWאא
٨٦
٨٨
אא
٨٨
אאא
٨٨
אאאאא
٨٨
SELECTאאא
٨٩
אאא
٩٢
אאא
א ١٦١ אא
אא א
٩٥ אא
٩٦ אאאWאא
٩٧
٩٧ אאאאא
١٠٠ NILLאאאא
١٠١ FORMאאאא
١٠٣ אא
١٠٤ אאWאא
١٠٥
١٠٥
١٠٥ אא
١٠٦ אאאאא
١٠٧ NULLא
١٠٨ אא
١٠٨ אאאא
١١٠
١١٠ אאאא
١١٠ אאא
١١١ אאאאא
١١٢ א
١١٣ אא
١١٣ אאאאא
١١٥ Database Transactionsאא
١١٥ א
١١٧ אא
א ١٦١ אא
אא א
١١٨ אאWאא
١١٩
١٢٠ אא
١٢٠ אאאאאאאא
١٢١ אא
١٢١ אאאא
١٢٢ אאאאא
١٢٤ אא
١٢٦ א
١٢٦ א
١٢٧ אאאא
١٢٨ אא
١٣٠
אאאWאא
١٣١
١٣٢
אא
١٣٢
א
١٣٣
PRIMARY KEYא
١٣٤
UNIQUE KEY א
١٣٥
FOREIGN KEY א
١٣٦
CHECK א
١٣٧
א
١٣٨
אאאא
١٣٩
אאאא
١٤١
אא
אאאאאא
אEאFאא
GOTEVOT appreciates the financial support provided by BAE SYSTEMS