You are on page 1of 158

 ‫א‬‫א‬‫א‬

ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
‫א‬‫א‬‫א‬‫א‬

‫א‬
‫א‬‫א‬

١٦١
   ١٦١  ‫א‬‫א‬
  ‫א‬‫א‬  ‫א‬

 

 W،،‫א‬‫א‬،‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
  ‫א‬ ‫א‬  ،‫א‬    ‫א‬ ‫א‬ ‫א‬ ‫א‬ ‫א‬ 
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫؛‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K ‫א‬‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
  ‫א‬        ،‫א‬ ‫א‬‫א‬  
‫א‬  ‫א‬ ‫א‬ ‫א‬ ‫א‬ ‫א‬   ‫א‬    ،  
‫א‬،‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
     ‫א‬  ‫א‬   ،‫א‬   
 K‫א‬‫א‬،‫א‬‫א‬

? ‫א‬ ?  ? ‫א‬  ‫א‬  ? ‫א‬ ‫א‬  
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
،‫א‬،‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬

   ‫؛‬    ‫א‬ ‫א‬  ‫א‬    ‫א‬
 K‫א‬

‫א‬‫א‬‫א‬‫א‬      
   ١٦١  ‫א‬‫א‬
  ‫א‬‫א‬  ‫א‬

 
 W‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬‫א‬
  ‫א‬
 ‫א‬
 ‫א‬ ،
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬ ‫א‬‫א‬
 ‫א‬،‫א‬‫א‬‫א‬
‫א‬ ‫א‬‫א‬‫א‬‫א‬ 
‫א‬K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬ 
 ‫א‬‫א‬‫א‬
K‫א‬‫א‬‫א‬‫א‬
‫א‬ ‫א‬‫א‬‫א‬‫א‬  ‫א‬
 K‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬ 
‫א‬K‫א‬ ‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬

 
‫ א‬ 
 DataInformations
 ‫א‬‫א‬‫א‬
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
‫א‬‫א‬‫א‬‫א‬

‫א‬ ‫א‬
‫א‬



١
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬

 W‫א‬‫א‬
 W‫א‬‫א‬‫א‬
K‫א‬‫א‬ J ١
K‫א‬‫א‬‫א‬ J ٢
K‫א‬‫א‬‫א‬‫א‬ J ٣
K‫א‬‫א‬‫א‬ J ٤
KESQL‫א‬‫א‬F‫א‬‫א‬‫א‬ J ٥
KSQL 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‫א‬‫א‬

‫א‬،‫א‬‫א‬
،EKKKKK‫א‬،‫א‬‫א‬،
  ‫א‬‫א‬،‫א‬ ‫א‬F
ERECORD‫א‬F
K
 EFIELDF‫א‬‫א‬‫א‬
KDATABASE‫א‬
 ‫א‬
 KE١F

 W‫א‬‫א‬‫א‬
 
‫א‬‫א‬‫א‬ 
‫א‬‫א‬‫א‬
 W‫א‬‫א‬

-٢-
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬

KElectronic Spread sheets‫א‬ •


‫א‬‫א‬‫א‬‫א‬ •
 K‫א‬‫א‬

KFilling Cabinet‫א‬ •
‫א‬ ،‫א‬‫א‬‫א‬ •
 K‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬ Database‫א‬‫א‬ •
‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬EF‫א‬‫א‬
  ‫א‬‫א‬Database Mangement System (DBMS)‫א‬
KE٢F



Type of Database ManagementSystems‫א‬‫א‬‫א‬‫א‬






Hierarchical Relational Network 


 E٢F‫א‬

-٣-
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬‫א‬‫א‬

 Hierarchical database Mangement system ‫א‬‫א‬‫א‬‫א‬ •
 ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬Main Frame

Network database Mangement system ‫א‬‫א‬‫א‬‫א‬ •


‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬

Relational database Mangement system ‫א‬‫א‬‫א‬‫א‬ •


 ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬  ‫א‬‫א‬،‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬

Column ‫ﻋﻤﻮد‬ Row ‫ ﺻﻒ‬


Employee Table Department 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
7369 SMITH CLERK 20
7499 ALLEN SALESMAN 30
7521 WARD SALESMAN 30 

7698 MARTN SALESMAN 30 Relation
7654 SCOTT ANALYST 20


 E٣F‫א‬

-٤-
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬

 Relational Databse ‫א‬‫א‬‫א‬



‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
  ‫א‬‫א‬EColumnF، 
KERecordF‫א‬‫א‬ERowFEField F

 ‫א‬‫א‬ERelationsF‫א‬‫א‬‫א‬
 K‫א‬
E٣F‫א‬K‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬،‫א‬ 
 ‫א‬‫א‬‫א‬‫א‬
 
 K‫א‬EDEPTNOF‫א‬‫א‬

 Manipulate with relational database ‫א‬‫א‬‫א‬‫א‬

Structured Query FSQL‫א‬
 ‫א‬‫א‬ 
EObjectsF‫א‬‫א‬‫א‬‫א‬ELanguage
‫א‬‫א‬‫א‬‫א‬‫א‬ ‫א‬‫א‬‫א‬‫א‬
‫א‬،ESQLF‫א‬
ESQL*PLUSF‫א‬‫א‬SQL‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬SQL‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬SQL،‫א‬‫א‬‫א‬
 WSQL*PLUS

-٥-
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬

 Structured Query Language (SQL) ‫א‬‫א‬


‫א‬،‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬


 ‫א‬ ‫א‬  ‫א‬
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‫א‬

 KSQL* PLUSEF
‫א‬‫א‬sql*plus‫א‬E٤F‫א‬
E‫א‬F‫א‬ETIGERF‫א‬ESCOTTF
‫א‬‫א‬KSQL‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫א‬‫א‬،‫א‬‫א‬
F‫א‬EMANAGERF‫א‬ESYSTEMF‫א‬
،‫א‬‫א‬SQL*PLUS ،E‫א‬
‫א‬‫א‬،‫א‬ESQL > F‫א‬
 K‫א‬‫א‬‫א‬‫א‬

• SQL > EDIT


‫א‬‫א‬،SQL*PLUS ‫א‬‫א‬
 E‫א‬F
،SQL*PLUS‫א‬‫א‬‫א‬
 KSQL > EDW‫א‬‫א‬‫א‬

-٧-
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬

• SQL > RUN


،SQL*PLUS ‫א‬‫א‬
 KSQL > RW‫א‬‫א‬‫א‬

• SQL > SPOOL Filename

SQL*PLUS ‫א‬‫א‬‫א‬

 ‫א‬،‫א‬‫א‬ELSTF‫א‬
 K SQL > SPOOL OUTW‫א‬‫א‬‫א‬

• SQL > SAVE filename



‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬
 ‫א‬KEsqlF‫א‬‫א‬
 KSQL > SAVE test.sqlW‫א‬‫א‬test.sql

• SQL > GET filename



K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 KSQL > GET test.sqlW‫א‬‫א‬test.sql‫א‬‫א‬‫א‬‫א‬‫א‬K

• SQL > START filename

‫א‬،sql‫א‬ ‫א‬‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬Etest.sqlF‫א‬‫א‬‫א‬‫א‬

 SQL > START test.sql

-٨-
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬


• SQL > @ filename
 K‫א‬‫א‬‫א‬‫א‬

• SQL > LIST



‫א‬‫א‬،  ‫א‬‫א‬‫א‬‫א‬
 W‫א‬٣١‫א‬‫א‬‫א‬
 SQL > L 1 3 

-٩-
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
   ‫א‬‫א‬  ‫א‬

 ‫א‬‫א‬

 KETABLE , ROW , COLUMNF‫א‬‫א‬‫א‬–١

 ‫؟‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬J ٣

 ‫؟‬SQLSQL*PLUS‫א‬‫א‬‫א‬–٤

 ‫؟‬‫א‬‫א‬EXF‫א‬‫א‬E√FJ ٥

EFK‫א‬SQL*PLUS‫א‬SELECT‫א‬ •
EFK‫א‬‫א‬DML‫א‬ •
  ‫א‬‫א‬‫א‬‫א‬‫א‬SQL> SPOOL ‫א‬ •
EFK‫א‬
EF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬L 2 4‫א‬ •
EF‫א‬SQL> START ‫א‬ •
EFSQL ‫א‬‫א‬‫א‬RUN‫א‬ •

- ١٠ -
 ‫א‬‫א‬‫א‬
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬
‫א‬‫א‬
‫א‬‫א‬

٢
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬ESELECTF

 W‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬SELECT

 W‫א‬‫א‬
 W‫א‬‫א‬‫א‬
KSELECT‫א‬‫א‬ J ١
KSELECT‫א‬ J ٢
KSELECT‫א‬‫א‬‫א‬‫א‬‫ א‬J ٣
KEAliasesF‫א‬‫ א‬J ٤
KSELECT‫א‬‫א‬‫א‬‫ א‬J ٥
KConcatenation ( | | )‫א‬‫א‬‫א‬‫א‬‫ א‬J ٦
K‫א‬‫א‬DISTINCT‫א‬‫ א‬J ٧
Kdescribe (desc)‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ J ٨
KNULL‫א‬‫ א‬J ٩

 W‫א‬‫א‬‫א‬
 K٪١٠٠‫א‬‫א‬‫א‬

 W‫א‬‫א‬

 W‫א‬‫א‬

K •
 K •
K •

 W‫א‬‫א‬
 K‫א‬‫א‬‫א‬

- ١١ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KSELECT‫א‬E‫א‬F‫א‬

SELECT * or Columns [alias]


FROM Table
WHERE condition or conditions
ORDER BY Column or Alias [ASC or DESC] ;


 W‫א‬‫א‬

 K‫א‬‫א‬‫א‬‫א‬‫א‬SELECT
 K‫א‬‫א‬‫א‬‫א‬‫א‬*
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬Columns
 K‫א‬‫א‬Alises
 K‫א‬‫א‬FROM
 K‫א‬‫א‬‫א‬‫א‬‫א‬Table
 K‫א‬‫א‬WHERE
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬Conditions
 K‫א‬‫א‬‫א‬ORDER BY
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬Column or Alies
 K‫א‬;

- ١٢ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KSQL‫א‬

‫א‬SQL ‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬،
‫א‬‫א‬‫א‬ SQL J ١
KNot Case SensitiveSQL‫א‬
KE,F‫א‬‫א‬‫א‬ J ٢
K‫א‬‫א‬SQL J ٣
‫א‬‫א‬،‫א‬‫א‬‫א‬ J ٤
KESELECT , FROM , WHERE , ORDER BYFKeywords
K‫א‬‫א‬ J ٥
KE;F‫א‬‫א‬‫א‬ J ٦
 KE;F‫א‬‫א‬SQL*PLUS‫א‬W J ٧

 WSQL
 W‫א‬‫א‬‫א‬‫א‬‫א‬SQL
K ‫א‬E;F‫א‬‫א‬ J ١
KSQL > ‫א‬ELF J ٢
 KSQL >ERUNF‫א‬ J ٣

‫א‬،SQL
 W‫א‬‫א‬‫א‬
 ‫א‬،‫א‬‫א‬
 ‫א‬‫א‬‫א‬
‫א‬‫א‬،EEMPF‫א‬‫א‬
EE٣F٦J ١‫א‬FEDEPTF‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬

- ١٣ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KDEPT‫א‬‫א‬‫א‬‫א‬WE١F

SQL> SELECT *
2 FROM dept ;

DEPTNO DNAME LOC


------------ ------------------ ---------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

‫א‬DEPT‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬E*F‫א‬‫א‬EDEPTNO , DNAME , LOCF‫א‬‫א‬
 K‫א‬‫א‬‫א‬،‫א‬

 KDEPT‫א‬‫א‬‫א‬WE٢F


SQL> SELECT deptno , dname
2 FROM dept ; 
DEPTNO DNAME 
------------ ------------------
10 ACCOUNTING 
20 RESEARCH
30 SALES

40 OPERATIONS 


‫א‬،‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 ،E,F‫א‬
 KEDEPTF

- ١٤ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WEAliasesF‫א‬‫א‬
‫א‬‫א‬‫א‬EAliasesF‫א‬‫א‬
 W‫א‬K‫א‬‫א‬
K‫א‬‫א‬‫א‬EASF‫א‬‫ א‬J ١
K‫א‬‫א‬‫א‬ESpaceF‫א‬‫א‬‫ א‬J ٢
‫א‬‫א‬E" "F‫א‬‫א‬‫א‬‫א‬‫ א‬J ٣
K‫א‬‫א‬،

 K‫א‬WE٣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‫א‬‫א‬‫א‬


- ١٥ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WSELECT‫א‬‫א‬‫א‬‫א‬

‫א‬ ‫א‬‫א‬‫א‬‫א‬
 ١٢‫א‬‫א‬‫א‬‫א‬
٥٠٠‫א‬‫א‬، ESAL*12F‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ KESAL + 500F
 K‫א‬
 Arithmetic Operators‫א‬‫א‬‫א‬‫א‬‫א‬
KEHF‫ א‬J ١
KEJ F‫ א‬J ٢
KE*F‫ א‬J ٣
KELF‫ א‬J ٤
  FROM‫א‬‫א‬‫א‬SQL‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬ ‫א‬

 K‫א‬‫א‬‫א‬‫א‬WE٤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١٢‫א‬

- ١٦ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 Operator Precedence ‫א‬‫א‬‫א‬


‫א‬‫א‬
 W‫א‬SQL‫א‬‫א‬‫א‬
K‫א‬‫א‬‫א‬‫א‬ J ١
K‫א‬‫א‬‫א‬‫ א‬J ٢
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ J ٣
KE١F
 W‫א‬‫א‬‫א‬
1 – 100*(40+10) = 100*50=5000 .
2 – (100*40)+10 = 4000+10= 4010 .

 K‫א‬‫א‬‫א‬‫א‬‫א‬

 K‫א‬‫א‬‫א‬‫א‬WE٥F
SQL> SELECT ename , sal , 12*sal+100 
2 FROM emp;  W‫א‬
٢ ١ 
KE٢F‫א‬E١F‫א‬
ENAME SAL 12*SAL+100 
---------- -------------------- --------------------
SMITH 800 9700 
ALLEN 1600 19300

 K‫א‬‫א‬‫א‬‫א‬WE٦F
SQL> SELECT ename , sal , 12*(sal+100) 
 W‫א‬
2 FROM emp;
١ ‫א‬‫א‬ E١F‫א‬ 
٢
ENAME SAL 12*(SAL+100) KE٢F‫א‬ 
---------- -------------------- --------------------
SMITH 800 10800 
ALLEN 1600 20400

‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬E٦F‫א‬


- ١٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

KConcatenation ( || )‫א‬‫א‬‫א‬‫א‬‫א‬

‫א‬E||F‫א‬‫א‬‫א‬‫א‬
‫א‬،‫א‬‫א‬‫א‬، Concatenation
 K‫א‬‫א‬،E' 'F‫א‬

SQL> SELECT ename, job , ename||job as "employees"


2 FROM emp ;

ENAME JOB employees


---------- --------- -------------------
SMITH CLERK SMITHCLERK
ALLEN SALESMAN ALLENSALESMAN
WARD SALESMAN WARDSALESMAN
JONES MANAGER JONESMANAGER
MARTIN SALESMAN MARTINSALESMAN


 ‫א‬‫א‬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‫א‬‫א‬

SQL> SELECT deptno



2 FROM emp ; 
DEPTNO 
------------
20

30
‫א‬‫א‬‫א‬‫א‬‫א‬

30
20 
30
30 

‫א‬،‫א‬‫א‬
 ‫א‬ ‫א‬ ‫א‬
 W‫א‬‫א‬SELECTEdistinctF‫א‬‫א‬

SQL> SELECT DISTINCT deptno  


2 FROM emp ;

DEPTNO 
-----------
10 
20
30


 KDISTINCT‫א‬‫א‬‫א‬‫א‬

- ١٩ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

K DESCRIBE(DESC)‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬EDESCRIBEF‫א‬
 KEDESCF

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‫א‬

 KNULL‫א‬‫א‬

‫א‬،NULL‫א‬‫א‬
‫א‬‫א‬COMM ‫א‬‫א‬،‫א‬
 ،‫א‬
‫א‬ 
 KNULL‫א‬‫א‬ 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 


COMMSMITH‫א‬
 K
،ENULLF‫א‬‫א‬‫א‬
 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×Ö<íÚ^ÃÖ]<퉉ö¹]
‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬
‫א‬
‫א‬

٣
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬

RESTRICTING AND SORTING DATA


 W‫א‬‫א‬
 KE‫א‬F‫א‬‫א‬

 W‫א‬‫א‬
 W‫א‬‫א‬‫א‬
K‫א‬EWHEREF‫א‬ J ١
K‫א‬ Comparison Operators ‫א‬‫א‬‫א‬ J ٢
KEIn,Between,Like,Is NullF‫א‬‫א‬‫א‬‫א‬ J ٣
KE AND,OR,NOTF‫א‬‫א‬‫א‬‫א‬ J ٤
K‫א‬‫ א‬J ٥
K‫א‬‫ א‬J ٦

 W‫א‬‫א‬‫א‬
 K٪١٠٠‫א‬‫א‬‫א‬

 W‫א‬‫א‬

 W‫א‬‫א‬

K •
 K •
K •

 W‫א‬‫א‬
DEPTEMP‫א‬‫א‬‫א‬،‫א‬SELECT‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬


- ٢٣ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬ SELECT‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬SELECT ‫א‬،‫א‬‫א‬
‫א‬‫א‬‫א‬،‫א‬‫א‬ ‫א‬
‫א‬،‫א‬  ‫א‬
 K‫؟‬‫א‬‫א‬‫א‬
‫א‬EWHEREF‫א‬‫א‬‫א‬
 KEORDER BYF‫א‬‫א‬،

 WEWHEREF‫א‬

‫א‬EFROMF‫א‬
،Comparison Operator‫א‬،
‫א‬‫א‬،SELECTETRUEF‫א‬‫א‬
ENo Row SelectedFSELECTEFALSEF
 K

 WWHERE‫א‬

 WEWhereF‫א‬
KColumns  •
KComparison Operators •
K‫א‬ •
 K‫א‬ •

- ٢٤ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 KWHERE‫א‬‫א‬

 K‫א‬‫א‬‫א‬
 ‫א‬‫א‬ •
‫א‬‫א‬
KE' 'F‫א‬
K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ •
 ‫א‬‫א‬‫א‬‫א‬‫א‬ •
 WSQL   ‫א‬‫א‬‫א‬  EFORMATF
YY ،‫א‬MON،‫א‬DDFEDD-MON-YYF
KE‫א‬

 WEORDER BYF‫א‬

‫א‬
 ،‫א‬‫א‬‫א‬
 KSELECT

 KORDER BY ‫א‬‫א‬

 K‫א‬‫א‬‫א‬
KSELECT •
KAlies Columns  •
‫א‬EAscendingF‫א‬EASCF  •
K(Default)‫א‬‫א‬
KDescending‫א‬EDESCF •

- ٢٥ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

،ECLERKF‫א‬‫א‬‫א‬‫א‬WE١F
 K‫א‬‫א‬‫א‬

SQL> SELECT ename , job , deptno  
2 FROM emp
3 WHERE job = 'CLERK' K‫א‬' '‫א‬
4 ORDER BY deptno

ENAME JOB DEPTNO


------------ ----------- ---------------
MILLER CLERK 10
SMITH CLERK 20
ADAMS CLERK 20
JAMES CLERK 30


‫א‬‫א‬،Where‫א‬‫א‬‫א‬E١F‫א‬

 ‫א‬‫א‬،CLERK
‫א‬‫א‬‫א‬‫א‬،E=F
E'CLERK'F‫א‬‫א‬‫א‬،CLERK
‫א‬K‫א‬‫א‬‫א‬‫א‬  ‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
K‫א‬‫א‬‫א‬‫א‬‫א‬
KORDER BY‫א‬‫א‬

 Comparison Operators KWhere‫א‬‫א‬‫א‬


 KWhere‫א‬‫א‬‫א‬
 ‫א‬  ‫א‬
  =
  >
  >=
  <
  <=
  !=<>

- ٢٦ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 KWHERE‫א‬‫א‬‫א‬


SQL > WHERE  OPERATOR 


 W
- WHERE hiredate = '01-JAN-95' E٩٥١F‫א‬
- WHERE sal >= 1500 K١٥٠٠‫א‬‫א‬
- WHERE ename = 'SMITH' SMITH ‫א‬

 K3000‫א‬‫א‬‫א‬‫א‬WE٢F

SQL> SELECT ename , job , sal
2 FROM emp
3 WHERE sal >= 3000 ;

ENAME JOB SAL


------------ ----------- ---------------
SCOTT ANALYST 3000  W‫א‬
KING PRESIDENT 5000 E٣٠٠٠F
FORD ANALYST 3000



 ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬WE٣F
 K

SQL> SELECT ename , sal , comm


2 FROM emp
 3 WHERE sal<= comm ;

ENAME SAL COMM
---------- ---------- ----------
MARTIN 1250 1400

- ٢٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

،‫א‬‫א‬EcommF‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬K ‫א‬ ‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬

 KWHERE ‫א‬

‫א‬‫א‬‫א‬
 W،
 

 ‫א‬  ‫א‬
 ‫א‬ BETWEEN  AND 
 ‫א‬‫א‬ IN ( ‫א‬ )
 ‫א‬ ‫א‬‫א‬ LIKE { % , _ }
Null ‫א‬‫א‬ IS NULL

 K 25001500 ‫א‬‫א‬‫א‬‫א‬WE٤F

SQL> SELECT ename , sal


  2 FROM emp
3 WHERE sal BETWEEN 1500 AND 2500 ;

ENAME SAL ‫א‬ ‫א‬


----------- ------------
ALLEN 1600 ‫א‬ ‫א‬  W
CLARK 2450 ٢٥٠٠١٥٠٠‫א‬‫א‬
TURNER 1500


،٢٥٠٠١٥٠٠‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬BETWEEN‫א‬١٥٠٠‫א‬
 ‫א‬K‫א‬‫א‬‫א‬‫א‬،‫א‬
‫א‬EBETWEEN 2500 AND 1500 F‫א‬‫א‬‫א‬
 KENo Row SelectedFEFALSEF
- ٢٨ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬


 ‫א‬‫א‬‫א‬‫א‬WE٥F
 KE٧٧٨٨٧٥٦٦٧٩٠٢F

SQL> SELECT empno , ename , sal , mgr


2 FROM emp
3 WHERE mgr IN (7902,7566,7788,7839) ;

EMPNO ENAME SAL MGR


----------- ------------ ---------- ----------
7369 SMITH 800 7902
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788
7902 FORD 3000 7566

 W‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
KE٧٨٣٩F‫א‬‫א‬E٧٧٨٨٧٥٦٦٧٩٠٢F
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬IN‫א‬

 KLIKE{ % , _ } 

،‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬

‫א‬‫א‬E 'A%' F‫א‬،‫א‬‫א‬(% ) G
 KAK‫א‬‫א‬A


‫א‬‫א‬A‫א‬‫א‬E'%A'F‫א‬
 KA ‫א‬‫א‬K
 KA‫א‬‫א‬‫א‬E'%A%'F‫א‬

- ٢٩ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

‫א‬E'_A%'F‫א‬،‫א‬‫א‬‫א‬( _ ) G
 KA‫א‬‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬
 KA‫א‬‫א‬،E'_ _A'F‫א‬
 W
 KLIKE‫א‬‫א‬‫א‬‫א‬‫א‬
 KS ‫א‬‫א‬WE٦F

SQL> SELECT ename


2 FROM emp
3 WHERE ename LIKE 'S%' ;

ENAME
----------
SMITH
SCOTT

 K ١٩٨١‫א‬‫א‬‫א‬WE٧F

SQL> SELECT ename , hiredate


2 FROM emp
3 WHERE hiredate LIKE '%81' ;

ENAME HIREDATE
---------- ----------
ALLEN 20/02/81
WARD 22/02/81
JONES 02/04/81
MARTIN 28/09/81
BLAKE 01/05/81
CLARK 09/06/81
KING 17/11/81
TURNER 08/09/81
JAMES 03/12/81
FORD 03/12/81

- ٣٠ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 KA ‫א‬‫א‬‫א‬‫א‬WE٨F

SQL> SELECT ename


2 FROM emp
3 WHERE ename LIKE '_A%' ;

ENAME
---------- EA F ‫א‬‫א‬
WARD
MARTIN
JAMES

EAF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬

 K ‫א‬‫א‬WE٩F

SQL> SELECT ename , mgr


2 FROM emp
3 WHERE mgr IS NULL ;

ENAME MGR
---------- ----------
KING NULL

‫א‬،‫א‬‫א‬‫א‬IS NULL‫א‬‫א‬‫א‬E٩F‫א‬
‫א‬‫א‬EMGRF ‫א‬ ‫א‬‫א‬
 K
 W
   ‫א‬‫א‬‫א‬NULL‫א‬‫א‬E=F‫א‬‫א‬‫א‬
 ‫؟‬‫א‬‫א‬‫א‬‫א‬‫א‬،IS NULL

SQL> SELECT ename , mgr ( = ) ‫اﻷﻣﺮ هﻨﺎ ﺧﻄﺄ ﻻﺳﺘﺨﺪام اﻟﻤﻌﺎﻣﻞ‬
2 FROM emp
3 WHERE mgr = NULL ;

- ٣١ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 KWHERE ‫א‬‫א‬‫א‬

 ‫א‬  ‫א‬
 TRUE‫א‬‫א‬TRUE‫א‬ AND
TRUE‫א‬‫א‬TRUE‫א‬ OR
FALSE‫א‬‫א‬TRUE‫א‬،‫א‬ NOT

،WHERE‫א‬‫א‬‫א‬
 ‫א‬ETRUEF‫א‬
 
 K‫א‬EFALSEF

 WAND‫א‬

KTRUE‫א‬‫א‬TRUE‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬AND‫א‬‫א‬‫א‬

AND‫א‬ ‫א‬‫א‬ ‫א‬‫א‬
True  True True
False False True
False False False
Null Null True
False Null False
Null Null Null

 W‫א‬‫א‬‫א‬‫א‬
 KTRUE‫א‬FALSE ‫א‬AND ‫א‬W 
NULL ‫א‬‫א‬AND‫א‬NULL‫א‬‫א‬‫א‬W 
 KFALSE‫א‬NULL ‫א‬

- ٣٢ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

1100 ‫א‬‫א‬‫א‬‫א‬WE١٠F
 KCLERK‫א‬

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 ‫א‬‫א‬‫א‬
‫א‬ETRUEFAND‫א‬ETRUEF
 K‫א‬‫א‬‫א‬

‫א‬1100‫א‬‫א‬‫א‬‫א‬WE١١F
 K500

SQL> SELECT ename , sal , comm


2 FROM emp
3 WHERE sal>1100 AND comm<500 ;

ENAME SAL COMM 


----------- ------------ ----------
ALLEN 1600 300 
TURNER 1500 0


- ٣٣ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 WOR ‫א‬
‫א‬‫א‬TRUE‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬OR ‫א‬‫א‬‫א‬KTRUE

OR ‫א‬ ‫א‬‫א‬ ‫א‬‫א‬
 True True True
True False True
False False False
True Null True
Null Null False
Null Null Null

 W‫א‬‫א‬‫א‬‫א‬
 KFALSE‫א‬TRUE ‫א‬OR ‫א‬W 
NULL ‫א‬‫א‬OR‫א‬NULL‫א‬‫א‬‫א‬W 
 KTRUE‫א‬TRUE‫א‬NULL‫א‬

E2500F‫א‬‫א‬‫א‬‫א‬WE١٢F
 K MANAGER

SQL> SELECT empno , ename , job , sal
2 FROM emp
3 WHERE sal >2500 OR job='MANAGER' ;

EMPNO ENAME JOB SAL 


----------- ------------ ---------- ---------
7566 JONES MANAGER 2975 
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450 
7788 SCOTT ANALYST 3000
7839 KING PRESIDENT 5000 
7902 FORD ANALYST 3000

- ٣٤ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

،‫א‬‫א‬‫א‬‫א‬
‫א‬٢٥٠٠‫א‬E7782F‫א‬
 K‫א‬‫א‬،EMANAGERF‫א‬

‫א‬‫א‬E1000F‫א‬‫א‬‫א‬‫א‬‫א‬WE١٣F
 KE10F

SQL> SELECT ename , sal , deptno
2 FROM emp
3 WHERE sal<1000 OR deptno=10 ;

ENAME SAL DEPTNO


------------ ---------- ------------

SMITH 800 20 
CLARK 2450 10
KING 5000 10 
JAMES 950 30
MILLER 1300 10 


 ‫א‬‫א‬١٠٠٠‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫א‬٢٠‫א‬‫א‬‫א‬‫א‬‫א‬ KE١٠F‫א‬‫א‬
‫א‬E١٠F‫א‬‫א‬١٠٠٠‫א‬‫א‬‫א‬K١٠٠٠
 K‫א‬‫א‬

 WNOT ‫א‬
ETUREF‫א‬‫א‬ ،‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬،‫א‬EFALSEFNOT‫א‬

NOT‫א‬  ‫א‬
False True
True False
Null Null

- ٣٥ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬‫א‬NOT ‫א‬

 ‫א‬  ‫א‬  ‫א‬


 KKKKKKKKKK NOT BETWEEN KK AND KK BETWEEN KKK AND KKK
 KKKKKK‫א‬ NOT IN ( KKKK) IN ( KKKK)
  NOT LIKE { % , _ } LIKE { % , _ }
  IS NOT NULL IS NULL

 K‫א‬‫א‬‫א‬NOT‫א‬‫א‬‫א‬

• WHERE job NOT IN ('CLERK' , 'MANAGER' )


• WHERE sal NOT BETWEEN 1000 AND 1500
• WHREE ename NOT LIKE '%A%'
• WHERE comm IS NOT NULL

 W‫א‬‫א‬‫א‬‫א‬WE١٤F
 KECLERK , MANAGER , ANALYST F

SQL> SELECT ename , job
2 FROM emp
3 WHERE job NOT IN ( 'CLERK' , 'MANAGER' , 'ANALYST' ) ;

ENAME JOB
------------ --------

ALLEN SALESMAN 
WARD SALESMAN
MARTIN SALESMAN 
KING PRESIDENT
TURNER SALESMAN 

‫א‬‫א‬IN( ... ) ‫א‬‫א‬‫א‬
 KECLERK , MANAGER , ANALYST F‫א‬‫א‬

- ٣٦ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬


 K30001000‫א‬‫א‬‫א‬‫א‬WE١٥F

SQL> SELECT ename , job , sal
2 FROM emp
3 WHERE sal NOT BETWEEN 1000 AND 3000 ;

ENAME JOB SAL


------------ ---------------- -----------

SMITH CLERK 800 
KING PRESIDENT 5000
JAMES CLERK 950 

،٣٠٠٠١٠٠٠‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 KE BETWEEN ... AND ....F‫א‬K‫א‬

 K‫א‬‫א‬‫א‬WE١٦F

SQL> SELECT ename , job , sal , comm
2 FROM emp
3 WHERE comm IS NOT NULL ;

ENAME JOB SAL COMM


------------ ---------------- ----------- -----------
ALLEN SALESMAN 1600 300
WARD SALESMAN 1250 500
MARTIN SALESMAN 1250 1400
TURNER SALESMAN 1500 0


‫א‬،‫א‬‫א‬‫א‬‫א‬
 KNULL
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
ORDER BY sal DESC

- ٣٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬‫א‬

‫א‬2850‫א‬‫א‬‫א‬‫א‬ ‫א‬‫א‬–١
 W‫א‬‫؟‬‫א‬‫א‬

ENAME SAL
------------ --------
KING  5000
SCOTT  3000
FORD  3000
JONES 2975

‫؟‬E1500,2850F ‫א‬‫א‬‫א‬‫א‬‫א‬ ‫א‬–٢


 W‫א‬

ENAME SAL
------------ --------
SMITH  800
WARD  1250
JONES  2975
MARTIN  1250
SCOTT  3000
KING  5000
ADAMS  1100
JAMES  950
FORD  3000
MILLER 1300

1500‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬–٣
‫א‬‫؟‬‫א‬‫א‬‫א‬ 30‫א‬‫א‬10 ‫א‬‫א‬
 W
ENAME SAL
------------ --------
KING  5000
BLAKE  2850
CLARK  2450
ALLEN 1600

- ٣٨ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬  ‫א‬‫א‬  ‫א‬

‫؟‬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 ١
KSingle-Row Functions‫א‬‫א‬‫א‬‫א‬‫א‬ J ٢
KCharacter Functions ‫א‬‫א‬‫א‬‫א‬‫א‬ J ٣
KNumber Functions‫א‬‫א‬‫א‬‫א‬‫א‬ J ٤
KDate Functions ‫א‬‫א‬‫א‬‫א‬ J ٥
KConversion 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 FunctionsW‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬
 W‫א‬،FROM‫א‬‫א‬SELECT،

KCharacter Functions‫א‬ •
KNumber Functions‫א‬ •
KDate Functions ‫א‬ •
KConversion Functions ‫א‬ •

 Character FunctionsW‫א‬‫א‬‫א‬
‫א‬‫א‬K  ‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬

FUNCTION ‫א‬‫א‬  


E F‫א‬‫א‬
LOWER(column\expression)
Small 
EF‫א‬
UPPER(column\expression)
Capital
E F ‫א‬‫א‬‫א‬
INITCAP(column\expression)
 ‫א‬Capital
CONCAT(column1\expression1, E||F‫א‬‫א‬‫א‬
Column2\expression2)
‫א‬‫א‬  ‫א‬
SUBSTR(column\expression,m,n)
 Kn‫א‬‫א‬m
LENGTH(column\expression) E‫א‬F‫א‬‫א‬‫א‬
 ‫א‬‫א‬
INSTR(column\expression,m)
 ‫א‬‫א‬‫א‬m‫א‬E‫א‬F
‫א‬‫א‬
LPAD(column\expression,n,'string')
 ‫א‬‫א‬n‫א‬‫א‬
‫א‬ ‫א‬
RPAD(column\expression,n,'string')
‫א‬‫א‬n‫א‬‫א‬
TRIM('character' FROM column\expression) ‫א‬‫א‬‫א‬

- ٤٣ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 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‫א‬‫א‬‫א‬‫א‬
 

 WE١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‫א‬

- ٤٤ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE٢F

SQL> SELECT ename,SUBSTR(ename,2,3),LENGTH(ename),INSTR(ename,'K')


2 FROM emp
3 WHERE LOWER( job)='manager' ;

ENAME SUBSTR(ENAME,2,3) LENGTH(ENAME) INSTR (ENAME, 'K')
---------- ---------------------------- ------------------------ ---------------------------
JONES ONE 5 0
BLAKE LAK 5 4
CLARK LAR 5 5


 WE٢F
  ‫א‬SELECT
 K‫א‬
K‫א‬‫א‬‫א‬EENAMEF‫א‬‫א‬ •
‫א‬‫א‬‫א‬SUBSTR(ENAME,2,3F‫א‬‫א‬ •
‫א‬SUBSTR‫א‬‫א‬E٣F‫א‬‫א‬‫א‬E٢F
K‫א‬
LENGTH‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ •
K ‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬EKF‫א‬‫א‬‫א‬‫א‬‫א‬ •
‫א‬‫א‬BLAKE‫א‬‫א‬‫א‬K‫א‬INSTR‫א‬‫א‬
K‫א‬CLARK‫א‬‫א‬
‫א‬WHERE‫א‬LOWER‫א‬‫א‬‫א‬ •
K‫א‬‫א‬‫א‬‫א‬

- ٤٥ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE٣F

SQL>SELECT ename,TRIM('S' FROM ename), LPAD(ename,10,'*') , RPAD(ename,10,'#')


2 FROM emp
3 WHERE sal>2500 ;

ENAME TRIM('S' FROM ENAME) LPAD(ENAME,10,'*') LPAD(ENAME,10,'#')


---------- -------------------------------- --------------------------- ---------------------------
JONES JONE *****JONES JONES#####
BLAKE BLAKE *****BLAKE BLAKE#####
SCOTT COTT *****SCOTT SCOTT#####
KING KING ******KING KING######
FORD FORD ******FORD FORD######


 WE٣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

 ‫א‬‫א‬‫א‬‫א‬‫א‬،‫א‬
KEright-justifiedF
E#F‫א‬‫א‬‫א‬RPAD(ENAME,10,'#')‫א‬‫א‬‫• א‬
 ‫א‬‫א‬‫א‬‫א‬ ،‫א‬ ‫א‬
KEleft-justifiedF

‫א‬‫א‬SELECT‫א‬‫א‬‫א‬‫א‬ ‫א‬
 KFROM

- ٤٦ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 Number FunctionsW‫א‬‫א‬

‫א‬‫א‬K ‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬

FUNCTION ‫א‬‫א‬  

‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬n‫א‬‫א‬
 Kn،‫א‬‫א‬
K‫א‬En=0F‫א‬ •
ROUND(column\expression,n)
‫א‬‫א‬En>0F‫א‬ •
KE‫א‬‫א‬F‫א‬‫א‬
  ‫א‬‫א‬En<0F‫א‬ •
KE‫א‬‫א‬F‫א‬‫א‬

 ،‫א‬‫א‬‫א‬
Kn
‫א‬‫א‬En=0F‫א‬ •
K‫א‬
TRUNC(column\expression,n)
‫א‬‫א‬En>0F‫א‬ •
KE‫א‬‫א‬F‫א‬‫א‬
‫א‬‫א‬En<0F‫א‬ •
KE‫א‬‫א‬F‫א‬‫א‬

MOD(m,n) Kn‫א‬m‫א‬‫א‬

- ٤٧ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬


 WE٤F

SQL>SELECT ROUND(45.923,0),ROUND(45.923,2),ROUND(45.923,-1),ROUND(45.923,-2)
2 FROM dual ;
‫א‬‫א‬ 

ROUND(45.923,0) ROUND(45.923,2) ROUND(45.923,-1) ROUND(45.923,-2)


---------------------- ----------------------- ------------------------ ------------------------
46 45.92 50 0


،‫א‬ROUND‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
n،E٤٦F‫א‬‫א‬n
n،E٤٥{٩٢F‫א‬‫א‬E٢F‫א‬
،E٥٠F‫א‬E٥F‫א‬‫א‬‫א‬‫א‬‫א‬E١J F
E٤٥F‫א‬‫א‬E٤٥F‫א‬E٢J Fn
 KE٥٠F

 WE٥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٢Fn،‫א‬‫א‬ n
 ‫א‬‫א‬‫א‬E٥F‫א‬E١J Fn،
 K‫א‬‫א‬‫א‬E٢J Fn،E٤٠F‫א‬

- ٤٨ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE٦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 FunctionsW‫א‬‫א‬

‫א‬ ‫א‬،EF‫א‬‫א‬‫א‬‫א‬
،‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬EDD-MON-YYF‫א‬‫א‬‫א‬
‫א‬‫א‬، ‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬

FUNCTION ‫א‬‫א‬  


F‫א‬‫א‬‫א‬‫א‬‫א‬
SYSDATE
E‫א‬‫א‬
MONTHS_BETWEEN(date1,date2)  ‫א‬‫א‬
ADD_MONTHS(date,n)  ‫א‬‫א‬
NEXT_DAY(date,'day')  ‫א‬
LAST_DAY(date)  ‫א‬‫א‬
ROUND(date)  ‫א‬‫א‬
 ‫א‬‫א‬
TRUNC(date)

- ٤٩ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 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'‫א‬

LAST_DAY('01-SEP-95') '30-SEP-95' 


September
‫א‬‫א‬
٢٥‫א‬
ROUND('25-JUL-95' , 'MONTH') 01-AUG-95
‫א‬١٥
 ‫א‬‫א‬
‫א‬‫א‬

ROUND('25-JUL-95' , 'YEAR') 01-JAN-96
E٧F EJULYF
 ‫א‬‫א‬‫א‬
‫א‬‫א‬
TRUNC('25-JUL-95' , 'MONTH') '01-JUL-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‫א‬‫א‬‫א‬
 

 WE٧F

SQL> SELECT SYSDATE FROM DUAL;

SYSDATE
---------------
25-01-2004


‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬

 WE٨F

SQL> SELECT empno, hiredate , MONTHS_BETWEEN(sysdate,hiredate)
2FROM emp
3WHERE hiredate like '%1987' ;

EMPNO HIREDATE MONTHS_BETWEEN(SYSDATE,HIREDATE


---------- --------------- ----------------------------------------------------------
7788 19-04-1987 201.200404
7876 23-05-1987 200.071371



‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬،‫א‬‫א‬‫א‬
 WROUND‫א‬‫א‬‫א‬‫א‬

SQL> SELECT empno, hiredate , ROUND(MONTHS_BETWEEN(sysdate,hiredate))
2FROM emp
3WHERE hiredate like '%1987' ;

- ٥١ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE٩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‫א‬،

 WE١٠F

SQL> SELECT empno,hiredate,NEXT_DAY(hiredate,'FRIDAY')
2 FROM emp
3 WHERE hiredate like '%1987' ;

EMPNO HIREDATE NEXT_DAY(hiredate,'FRIDAY')


---------- --------------- ----------------------------------------
7788 19-04-1987 24-04-1987
7876 23-05-1987 29-05-1987




‫א‬‫א‬،‫א‬‫א‬‫א‬
 K

- ٥٢ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 Conversion Functions W‫א‬‫א‬


‫א‬‫א‬‫א‬ EDATATYPEF
 ‫א‬‫א‬
‫א‬‫א‬KEDATEF‫א‬ECHARACTERF ENUMBERF
‫א‬‫א‬‫א‬‫א‬‫א‬، ‫א‬
 W

FUNCTION ‫א‬‫א‬  


‫א‬‫א‬‫א‬‫א‬‫א‬
TO_CHAR(DATE/NUMBER ,'fmt')
Kfmt‫א‬(FORMAT)
‫א‬‫א‬‫א‬
TO_DATE(CHAR , 'fmt')
 Kfmt‫א‬EFORMATF
‫א‬‫א‬
TO_NUMBER(CHAR , 'fmt')
 Kfmt‫א‬EFORMATF

‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬

 KTO_CHAR ‫א‬‫א‬
 KDATE‫א‬‫א‬‫א‬‫א‬‫א‬W
 W‫א‬‫א‬

TO_CHAR(DATE , 'fmt')


format‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬Kfmt

- ٥٣ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE١١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


‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬ KEDD/MM/YYYYF
 KEMM/YYYYF‫א‬FORMAT‫א‬،‫א‬‫א‬
‫א‬KE' 'F‫א‬‫א‬‫א‬W
‫א‬E" "FFORMAT‫א‬‫א‬
 WFORMAT‫א‬E26 OF 01/2004F‫א‬
 KEDD "OF" MM/YYYY)

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K
YYYY  K2004E‫א‬H‫א‬F‫א‬
YY  K04‫א‬
ETWO THOUSAND FOURF ‫א‬
YEAR
 KYEAR‫א‬
MM  K01 ‫א‬
MONTH  KEJANURYF‫א‬
DY  KEJANF‫א‬‫א‬‫א‬
DAY  KEFRIDAYF‫א‬
HH12:MI:SS AM  E04:30:50 PMF١٢‫א‬

- ٥٤ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE١٢F

SQL> SELECT empno,TO_CHAR(hiredate,'DAY "OF" MONTH YYYY HH12:MI:SS AM')
2 FROM emp
3 WHERE ename=upper('king') ;

EMPNO TO_CHAR(HIREDATE,'DAY "OF" MONTH YYYY HH12:MI:SS AM')


---------- ------------------------------------------------------------------------------------------
7839 TUESDAY OF NOVEMBER 1981 12:00:00 AM


‫א‬،KING‫א‬‫א‬‫א‬
 K‫א‬

 KTO_CHAR ‫א‬‫א‬
 KNUMBER‫א‬‫א‬‫א‬‫א‬‫א‬W
 W‫א‬‫א‬


TO_CHAR(NUMBER , 'fmt')


format‫א‬‫א‬‫א‬‫א‬
 Kfmt

٢٥٠٠‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 KE3000FE$3,000F‫א‬‫א‬

- ٥٥ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE١٣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‫א‬E99F
099  K‫א‬
990  ‫א‬‫א‬‫א‬
$99  K‫א‬$
.  K‫א‬‫א‬
,  KE‫א‬F‫א‬
MI  K‫א‬‫א‬EJ F‫א‬

- ٥٦ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KTO_DATE ‫א‬‫א‬

 W‫א‬‫א‬

TO_DATE(CHAR , 'fmt')


DATE‫א‬‫א‬‫א‬‫א‬‫א‬
 Kfmtformat
 K‫א‬‫א‬‫א‬‫א‬

 WE١٤F

SQL> SELECT TO_DATE( 'FEBRUARY 22, 1981' , 'MONTH DD, YYYY' )
2 FROM dual

TO_DATE( 'FEBRUARY 22, 1981' , 'MONTH DD, YYYY' )


---------------------------------------------------------------------------------
22-FEB-1981



‫א‬E'FEBRUARY 22, 1981'F‫א‬‫א‬‫א‬‫ א‬

 K‫א‬‫א‬
‫א‬‫א‬FORMAT‫א‬‫א‬W
 K‫א‬‫א‬K‫א‬‫א‬

- ٥٧ -
 ‫א‬‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KTO_NUMBER ‫א‬‫א‬

 W‫א‬‫א‬

TO_NUMBER(CHAR , 'fmt')


NUMBER‫א‬‫א‬‫א‬‫א‬‫א‬
 Kfmtformat
‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 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
 KEFEBRUARY 22, 2004F‫א‬

MY DATE
-----------------
22/02/2004

- ٦٠ -
 ‫א‬‫א‬‫א‬
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬
‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬

٥
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬‫א‬‫א‬

GROUP FUNCTIONS 

 W‫א‬‫א‬
 KSELECT‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 W‫א‬‫א‬
 W‫א‬‫א‬‫א‬
KGroup Functions‫א‬‫א‬‫א‬ J ١
KGroup Functions‫א‬‫א‬‫א‬‫א‬ J ٢
KGROUP BY ‫א‬‫א‬‫א‬‫א‬ J ٣
KHAVING ‫א‬‫א‬‫א‬‫א‬‫א‬ J ٤

 W‫א‬‫א‬‫א‬
 K٪١٠٠‫א‬‫א‬‫א‬

 W‫א‬‫א‬

 W‫א‬‫א‬

K •
 K •
K •

 W‫א‬‫א‬
 K‫א‬

- ٦١ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬

‫א‬EGROUP FUNCTIONSF‫א‬‫א‬‫א‬‫א‬
 ‫א‬ ‫א‬،‫א‬‫א‬
 ‫א‬
SUM‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬
 KSUM‫א‬‫א‬‫א‬‫א‬‫א‬

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‫א‬

- ٦٢ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 Type of Group FunctionsW‫א‬‫א‬‫א‬‫א‬



 W‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

FUNCTION ‫א‬‫א‬   


SUM ‫א‬‫א‬‫א‬
MAX ‫א‬‫א‬
MIN  ‫א‬‫א‬
AVG  ‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬
COUNT
 K‫א‬NULL‫א‬‫א‬
STDDEV DEVIATION  ‫א‬‫א‬‫א‬‫א‬‫א‬
VARIANCE  ‫א‬E‫א‬F‫א‬‫א‬‫א‬

 K‫א‬‫א‬NULL‫א‬‫א‬‫א‬‫א‬

 K‫א‬‫א‬‫א‬
 

 WE١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‫א‬
‫א‬‫א‬،‫א‬MINMAX‫א‬‫א‬W 
 K‫א‬‫א‬K‫א‬‫א‬‫א‬‫א‬‫א‬


- ٦٣ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE٢F

SQL> SELECT MAX(ename) , MIN(ename)


2 FROM emp ;

MAX(ENAME) MIN(ENAME)
-------------------- -------------------
WARD ADAMS

 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 WE٣F

SQL> SELECT AVG( NVL(comm , 0) )


2 FROM emp ;

AVG( NVL(comm , 0) )
-----------------------------
157.14286

NVL‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬comm‫א‬‫א‬‫א‬NULL‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K E14F‫א‬‫א‬NVL‫א‬‫א‬‫א‬‫א‬
E14)E4F‫א‬NVL‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬

 SQL> SELECT AVG( comm ) 


2 FROM emp ;

AVG( comm ) 

-------------------
‫א‬‫א‬‫א‬
550 K ١٤ ‫א‬

- ٦٤ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬


 KCOUNT ‫א‬‫א‬‫א‬
 Wcount ‫א‬
• COUNT(*) .
• COUNT(column) .
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ count(*)‫א‬‫א‬ •
where‫א‬‫א‬،NULL‫א‬‫א‬
 ‫א‬
 K‫א‬‫א‬
 KNULL‫א‬count(column)‫א‬‫א‬ •
 K‫א‬‫א‬

 WE٤F

SQL> SELECT COUNT(*),COUNT(comm), COUNT(deptno)


2 FROM emp ;

COUNT(*) COUNT(COMM) COUNT(DEPTNO)


-------------
14 4 14

‫א‬،14‫א‬‫א‬‫א‬
COUNT(comm)‫א‬‫א‬،E4F‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬KCOMM‫א‬‫א‬NULL‫א‬‫א‬
 K‫א‬‫א‬COUNT‫א‬‫א‬‫א‬‫א‬E14Fdeptno

 WE٥F

SQL> SELECT COUNT(comm) , COUNT(*)


 2 FROM emp
3 WHERE deptno=30 ;

COUNT(COMM) COUNT(*)
-------------------- -------------------
4 6

- ٦٥ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

30‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬

 WGROUP BY ‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬
 
   ،‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬GROUP BY‫א‬
 K
 Kgroup by‫א‬‫א‬‫א‬‫א‬‫א‬

ENAME SAL SQL >SELECT deptno , MAX(sal)


---------- ----------- 2 FROM emp
 10  2450 3 GROUP BY deptno ;
 10  5000 5000
10 1300
 20  800
 20  1100 DEPTNO MAX(SAL)
 20  3000 3000
---------- ---------------
 20  3000 10 5000
20 2975 20 3000
 30  1600 30 2850
 30  2850
30 1250 2850
 30  950
 30  1500
30 1250



‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬E3000F20  ‫א‬‫א‬‫א‬E5000F10‫א‬‫א‬‫א‬
 KE2850F٣٠‫א‬‫א‬



- ٦٦ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE٦F

SQL> SELECT deptno , AVG(sal)


 2 FROM emp
3 GROUP BY deptno
4 ORDER BY AVG(sal) ;

DEPTNO AVG(SAL)
------------- -------------------
30 1566.66667
20 2175
10 2916.66667

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬

 W‫א‬‫א‬‫א‬‫א‬‫א‬
GROUP BY‫א‬SELECT‫א‬ •
K‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬ ORDER BY‫א‬‫א‬‫א‬ •
K‫א‬‫א‬
HAVING ‫א‬WHERE‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ •
K

 WE٧F

SQL> SELECT deptno , AVG(sal) ‫א‬‫א‬


2 FROM emp ‫א‬select(deptno)‫א‬
3 ORDER BY AVG(sal) ;
 KE٦F‫א‬‫א‬‫א‬‫א‬group by
ERROR at line 1 : 
ORA-00937: not a single-group group function
 




- ٦٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE٨F

SQL> SELECT deptno , AVG(sal) 


2 FROM emp 
 3 WHERE AVG(sal) > 2000
4 GROUP BY deptno ; 

ERROR at line 3 :
ORA-00934: group function is not allowed here 


‫א‬‫א‬AVG(sal)‫א‬‫א‬‫א‬،‫א‬‫א‬
WHERE‫א‬‫א‬‫א‬‫א‬‫א‬،‫א‬WHERE
 WE٩F‫א‬HAVING ‫א‬‫א‬

 WE٩F

 SQL> SELECT deptno , AVG(sal)


2 FROM emp
3 GROUP BY deptno
4 HAVING AVG(sal) > 2000 ;

DEPTNO AVG(SAL)
------------- -------------------
10 2916.66667
20 2175


‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
HAVING‫א‬‫א‬‫א‬KE2000F‫א‬‫א‬
 K‫א‬‫א‬‫א‬

K‫א‬‫א‬‫א‬‫א‬‫א‬SELECT‫א‬‫א‬‫א‬
 K‫א‬‫א‬

- ٦٨ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WE١٠F

SQL> SELECT job , SUM(sal)


 2 FROM emp
3 WHERE job not like 'SALES%'
 4 GROUP BY job
5 HAVING SUM(sal) >5000
 6 ORDER BY SUM(sal) ;

JOB SUM(SAL)
------------- -------------------
ANALYST 6000
MANAGER 8275


‫א‬‫א‬SELECT‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬ESALESF‫א‬‫א‬‫א‬‫א‬،
 K‫א‬‫א‬‫א‬E5000F
 KGROUP BY‫א‬WHERE ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

- ٦٩ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬‫א‬

‫א‬‫א‬‫א‬ ‫א‬‫א‬‫א‬–١
 W‫א‬‫؟‬‫א‬
MAXIMUM MINIMUM SUM AVERAGE
---------------- ---------------- -------- ---------------
5000 800 29025 2073

‫؟‬‫א‬‫א‬ ‫א‬‫א‬ ‫א‬–٢


 W‫א‬

JOB MAXIMUM MINIMUM


---------------- ---------------- ----------------
ANALYST 3000 3000
CLERK 1300 800
MANAGER 2975 2450
PRESIDENT 5000 5000
SALESMAN 1600 1250

‫א‬‫؟‬‫א‬ ‫א‬‫א‬
 ‫א‬–٣
 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 ٢
KEquijoin ‫א‬‫א‬‫א‬‫א‬‫א‬ J ٣
KNon-Equijoin ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ J ٤
KOuter Join ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ J ٥
KSelf 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

EMPNO DEPTNO LOC


-----------
7839
-------------
10
---------------
NEW YORK
‫א‬‫א‬‫א‬‫א‬
7698 20 DALLAS
7782 30 CHICAGO ‫א‬
7566 40 BOSTON



‫א‬‫א‬K‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬

Join defination W‫א‬
 K‫א‬‫א‬




- ٧٣ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬  ‫א‬‫א‬  ‫א‬

 Types of Joins W‫א‬‫א‬


 WEJoinsF‫א‬‫א‬
KEquijoin ‫ƒ א‬
KNon-Equijoin ‫א‬‫ƒ א‬
KOuter Join ‫א‬‫ƒ א‬
KSelf Join ‫א‬‫א‬‫א‬‫ƒ א‬

 KWHERE‫א‬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‫א‬‫א‬،



- ٧٤ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬  ‫א‬‫א‬  ‫א‬

 WE١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
‫א‬‫א‬‫א‬
KEemp . empnoFE.F‫א‬
 ‫א‬‫א‬‫א‬‫א‬FROM‫א‬ •
KEFROM emp,deptF
‫א‬‫א‬‫א‬‫א‬‫א‬WHERE‫א‬ •
K‫א‬‫א‬‫א‬،‫א‬

- ٧٥ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬‫א‬‫א‬

 ‫א‬،‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 WEdFEdeptF‫א‬،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 ;

 KE١F‫א‬

KINGE١F‫א‬‫א‬‫א‬
 WSELECT

 WE٢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




 ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 KNon-Equijoin 

- ٧٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬  ‫א‬‫א‬  ‫א‬

 WE٣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‫א‬‫א‬‫א‬‫א‬

 Outer Join W‫א‬‫א‬


‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫א‬
‫א‬‫א‬‫א‬EEquijoinF‫א‬
EHF‫א‬‫א‬‫א‬‫א‬
 ‫א‬،
،EOuter JoinF‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬E40F‫א‬‫א‬
،‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬


- ٧٨ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬  ‫א‬‫א‬  ‫א‬

EOuter JoinF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬ ‫א‬‫א‬
 K‫א‬

 WE٤F

 SQL> SELECT e.empno , e.ename , d.deptno , d.dname
2 FROM emp e , dept d
3 WHERE e.deptno(+)=d.deptno ;
‫א‬‫א‬

EMPNO ENAME DEPTNO DNAME


---------- --------------- --------------- --------------
 7782 CLARK  10 ACCOUNTING
 7839 KING  10 ACCOUNTING
 7934 MILLER  10 ACCOUNTING
 7369 SMITH  20 RESEARCH
 7876 ADAMS  20 RESEARCH
 7902 FORD  20 RESEARCH
 7788 SCOTT  20 RESEARCH
 7566 JONES  20 RESEARCH
 7499 ALLEN  30 SALES
 7698 BLAKE  30 SALES
7654 MARTIN 30 SALES
 7900 JAMES  30 SALES
 7844 TURNER  30 SALES ‫א‬‫א‬‫א‬
7521 WARD  30 SALES
 ‫א‬‫א‬
40 OPERATIONS



‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬EOuter JoinF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬E40F

- ٧٩ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬  ‫א‬‫א‬  ‫א‬

 Self Join W‫א‬‫א‬‫א‬‫א‬



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

EMP (WORKER) EMP (MANAGER)


EMPNO ENAME MGR EMPNO ENAME
7839 KING 7839 KING
7698 BLAKE 7839 7698 BLAKE
7782 CLARK 7839 7782 CLARK
7566 JONES 7839 7566 JONES
7654 MARTIN 7698 7654 MARTIN


‫א‬‫א‬EMGRF‫א‬
‫א‬E7839F‫א‬‫א‬EBLAKEF‫א‬،‫א‬
EEMPNOF‫א‬EMGRF‫א‬،EKINGF
،EEMPNOF‫א‬‫א‬
 KEEMPNOFEMGRF‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬
EMANAGERF‫א‬‫א‬‫א‬EWORKERF‫א‬
 KEEquijoinF‫א‬‫א‬،‫א‬‫א‬‫א‬

 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‫א‬‫א‬‫א‬‫א‬
 KESelf JoinF‫א‬

 W‫א‬
‫א‬
  ‫א‬،E١J ‫א‬‫א‬F‫א‬‫א‬
K‫א‬‫א‬‫א‬،‫א‬
 K‫א‬EANDF‫א‬
 K‫א‬‫א‬‫א‬

- ٨١ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬  ‫א‬‫א‬  ‫א‬

 WE٦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 ٢
KSingle-Row Subquery‫א‬‫א‬‫א‬‫א‬‫א‬ J ٣
K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫ א‬J ٤
KSelect‫א‬‫א‬‫א‬ J ٥
KMultiple-Row Subquery‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ J ٦
K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫ א‬J ٧

 W‫א‬‫א‬‫א‬
 K٪١٠٠‫א‬‫א‬‫א‬

 W‫א‬‫א‬

 W‫א‬‫א‬

K •
 K •
K •

 W‫א‬‫א‬
 K‫א‬

- ٨٦ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬

 K‫א‬‫א‬ESubqueriesF‫א‬‫א‬
 ‫؟‬EJonesF‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬،EJonesF‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬
 ‫א‬
 W‫א‬KEJonesF
 WEJonesF‫א‬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 ‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬
 WEF ‫א‬‫א‬‫א‬‫א‬EF

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‫א‬‫א‬‫א‬


 KALLEN‫א‬‫א‬‫א‬WE١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


EF‫א‬‫א‬EALLENF‫א‬‫א‬‫א‬
‫א‬‫א‬،ESALESMANF‫א‬
 KE‫א‬F‫א‬‫א‬ESALESMANF

‫א‬E‫א‬F‫א‬‫א‬‫א‬‫א‬W
 KE‫א‬F‫א‬

- ٨٨ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬
KSingle-Row Subquery‫א‬‫א‬‫• א‬
KMultiple-Row Subquery‫א‬‫• א‬
KMultiple -Column Subquery‫א‬‫• א‬

 W‫א‬‫א‬‫א‬

 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
K‫א‬‫א‬ ƒ
KEKK<= , >=,=,<>F‫א‬‫א‬‫א‬ ƒ
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ ƒ
KESingle-Row SubqueryF‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ ƒ
KEMultiple-Row SubqueryF‫א‬

 W‫א‬‫א‬‫א‬‫א‬‫א‬
 W‫א‬
‫א‬‫א‬E= , < , > , <= , >= , <>F‫א‬ ƒ
KE‫א‬F‫א‬‫א‬‫א‬
‫א‬‫א‬EALL , ANY , INF‫א‬ ƒ
K‫א‬‫א‬

 WSelect‫א‬‫א‬‫א‬
 WSELECT‫א‬‫א‬‫א‬‫א‬‫א‬
 KEWHERE , HAVING , FROMF

- ٨٩ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 Single-Row SubqueriesW‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬
 ‫א‬E ‫א‬F‫א‬
 KE= , < , > , <= , >= , <>F‫א‬

 WE٢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

،EF‫א‬‫א‬EKINGF‫א‬‫א‬‫א‬‫א‬
 KEKINGF‫א‬‫א‬E10F‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 WE٣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‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 WE٤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

 WE٥F
E7369F‫א‬‫א‬‫א‬‫א‬‫א‬
 KE7876F‫א‬‫א‬

 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‫א‬‫א‬،‫א‬

 WE٦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' ) ;
ECLERKFESMITHF‫א‬E‫א‬F‫א‬‫א‬‫א‬
 K‫א‬

- ٩٢ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 Multiple-Row SubqueriesW‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬
 KEALL , ANY , INF
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 ‫א‬ ‫א‬
 ‫א‬‫א‬‫א‬ IN
 ‫א‬ ANY
 ‫א‬ <ANY
 ‫א‬ >ANY
‫א‬ ALL
‫א‬ <ALL
 ‫א‬ >ALL

 WE٧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‫א‬‫א‬‫א‬‫א‬
 ‫א‬‫א‬‫א‬‫א‬‫א‬
KE800,950,1300F

 WE٨F
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 KECLERKF‫א‬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‫א‬KECLERKF
 KE800,950,1100,1300F‫א‬

- ٩٤ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬


 WE٩F
‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬

SQL> SELECT empno , ename , job , sal


2 FROM emp
 3 WHERE sal >ALL
4 ( select AVG(sal) ‫א‬‫א‬‫א‬‫א‬
 5 from emp  E2916.6667, 2175,1566.6667F
6 group by deptno ) ;

EMPNO ENAME JOB SAL
----------- ----------- ------------ ------------
 7566 JONES MANAGER  2975
 7788 SCOTT ANALYST  3000
 7839 KING PRESIDENT  5000
7902 FORD ANALYST 3000


‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬E2916.6667 , 2175 , 1566.6667F
ESAL>ALLF‫א‬،‫א‬‫א‬‫א‬
 KE2916.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 ٤
KESALESMANF‫א‬
 ESALESMANF‫א‬‫א‬
 K‫؟‬‫א‬

- ٩٦ -
 ‫א‬‫א‬‫א‬
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
‫ א‬‫א‬‫א‬‫א‬

‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬

٨
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬‫א‬‫א‬‫א‬
 MULTIPLE-COLUMN SUBQUERIES

 W‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 W‫א‬‫א‬
 W‫א‬‫א‬‫א‬
K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ J ١
KNULL‫א‬‫א‬‫א‬‫א‬ J ٢
KFROM‫א‬‫א‬‫א‬‫ א‬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‫א‬‫א‬‫א‬


‫א‬‫א‬‫א‬‫א‬
 KWHERE

- ٩٩ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 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‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 KDEMO

 WE١F
‫א‬
 ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬605‫א‬‫א‬،605‫א‬‫א‬‫א‬‫א‬
K605‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬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
 WK‫א‬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

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬K605‫א‬
 K‫א‬‫א‬K‫א‬‫א‬E605F

- ١٠١ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 WNULL‫א‬‫א‬‫א‬‫א‬

،‫א‬NULL‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬
‫א‬whereEno rows selectedF
 W‫א‬‫א‬K‫א‬‫א‬‫א‬

 WE٢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‫א‬‫א‬
‫א‬‫א‬‫א‬،EF‫א‬
 KEno rows selectedFK‫א‬

- ١٠٢ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KFROM‫א‬‫א‬‫א‬‫א‬
،SELECT‫א‬FROM‫א‬‫א‬‫א‬‫א‬‫א‬
FROM ‫א‬‫א‬‫א‬،‫א‬‫א‬
  ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬،‫א‬
 KFROM ‫א‬

 WE٣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 ;

ENAME SAL DEPTNO SALAVG


----------- ------- -------------- -------------
KING  5000  10  2916.66667
FORD  3000  20  2175
SCOTT  3000  20  2175
JONES  2975  20  2175
ALLEN  1600  30  1566.66667
BLAKE 2850 30 1566.66667


‫א‬‫א‬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‫א‬‫א‬‫א‬
KEDMLFData Manipulation Language‫א‬‫א‬ J ١
   ‫א‬‫א‬‫א‬ J ٢
KEINSERT INTOF
KEUPDATEF‫א‬‫א‬‫א‬ J ٣
KEDELETE FROMF‫א‬‫א‬ J ٤

 W‫א‬‫א‬‫א‬
 K٪١٠٠‫א‬‫א‬‫א‬

 W‫א‬‫א‬

 W‫א‬‫א‬

K •
 K •
K •

 W‫א‬‫א‬
 K‫א‬

- ١٠٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬

‫א‬SELECT‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬،‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬EDMLF‫א‬‫א‬SQL
‫א‬‫א‬EROWSF،‫א‬
 K
 WEDMLF‫א‬‫א‬
KINSERT INTO‫א‬ ƒ
KUPDATE ‫א‬‫א‬ ƒ
KDELETE FROM ‫א‬ ƒ
 K‫א‬‫א‬‫א‬

 KEINSERT INTOF‫א‬

 KEINSET INTOF‫א‬‫א‬‫א‬

 K‫א‬‫א‬

SQL > INSERT INTO  (١, ٢ , ٣ ..... )
VALUES ( ١ , ٢ , ٣ .......) ;


 W‫א‬‫א‬
K‫א‬‫א‬‫א‬W ƒ
K‫א‬‫א‬‫א‬WEKKKKKKK ٣ , ٢, ١F ƒ
K‫א‬‫א‬‫א‬WEKKKKKKKKK٣,٢,١F ƒ

- ١٠٨ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬ •
KINSERT
E١ ‫א‬F،‫א‬‫א‬‫א‬‫א‬‫א‬ •
‫א‬K‫א‬E١‫א‬F
 
K‫א‬
K' '‫א‬‫א‬‫א‬ •
‫א‬‫א‬NULL ‫א‬  •
K‫א‬EempnoF
 EPrimary keyF
‫א‬INSERT‫א‬ •
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
K

 ‫א‬‫א‬  ‫א‬‫א‬W
 KE١٠F‫א‬‫א‬‫א‬،EDESC tableF

 K‫א‬‫א‬‫א‬‫א‬WE١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
 KEvarchar2F

 WENULLF
 W‫א‬NULL‫א‬
 KINSERT‫א‬NULL ‫א‬‫א‬‫א‬‫א‬W‫א‬
 KVALUES‫א‬‫א‬NULL‫א‬W‫א‬
‫א‬Eprimary keyF‫א‬‫א‬
 W‫א‬
 

 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬WE٢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‫א‬WE٣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) ;

‫א‬‫א‬‫א‬‫א‬
 KSYSDATE‫א‬‫א‬

،INSERT‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬
SQL> INSERT INTO emp
VALUES
(7196 , 'AHMED' , 'SALESMAN' , 7782 , SYSDATE , 2000 , NULL , 10) ;

 KSubstitution Variables‫א‬‫א‬‫א‬
،‫א‬‫א‬‫א‬‫א‬SQL
‫א‬‫א‬‫א‬‫א‬SQL‫א‬‫א‬‫א‬
،‫א‬E&F‫א‬SQL،
‫א‬‫א‬K‫א‬‫א‬‫א‬ 
 Ksubstitution Variables‫א‬‫א‬‫א‬‫א‬

- ١١١ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬WE٤F

SQL> INSERT INTO dept ( deptno , dname , loc )
2 VALUES (&dept_id , '&dept_name' , '&dept_loc' ) ;

Enter value for dept_id : 80


Enter value for dept_name : EDUCATION ‫א‬‫א‬‫א‬
Enter value for dept_loc : ATLANTA

 W‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬E80F‫א‬‫א‬‫א‬E&dept_idF •
 K‫א‬EEDUCATIONF‫א‬‫א‬‫א‬‫א‬E&dept_nameF •
 K‫א‬EATLANTAF‫א‬‫א‬‫א‬E&dept_locF •
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K
 W‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 SQL> INSERT INTO dept ( deptno , dname , loc )


2 VALUES ( 80 , 'EDUCATION' , 'ATLANTA' ) ;

 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬WE٥F
 K

SQL> INSERT INTO &dept_table ( &dept_id , dname , loc )
2 VALUES ( 80 , 'EDUCATION' , 'ATLANTA' ) ;

Enter value for dept_table : dept


Enter value for dept_id : deptno

EdeptF‫א‬E&dept_tableF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 KEdeptnoF‫א‬E&dept_idF‫א‬‫א‬

- ١١٢ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W

EempF،  ‫א‬EmanagersF‫א‬ ‫א‬


، ‫א‬EmanagerF ‫א‬ ‫א‬‫א‬
 W‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬WE٦F
 KEmanagersF

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‫א‬‫א‬‫א‬
 KEvaluesF‫א‬

 KEUPDATEF‫א‬‫א‬

‫א‬‫א‬
 KEUPDATEF‫א‬‫א‬‫א‬

 K‫א‬‫א‬‫א‬‫א‬‫א‬

SQL > UPDATE 
SET ١ = ١ , ٢ = ٢ ......
WHERE  ;

- ١١٣ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬
K‫א‬‫א‬‫א‬W ƒ
K‫א‬‫א‬‫א‬W٢،١ ƒ
K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬W٢،١ ƒ
‫א‬‫א‬،EFW ƒ
K‫א‬‫א‬

 W‫א‬‫א‬‫א‬‫א‬‫א‬
K‫א‬‫א‬‫א‬‫ א‬‫א‬ •
  ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ •
KE' ' F
‫א‬‫א‬‫א‬WHERE‫א‬‫א‬ •
K‫א‬

 ESALESFEEDUCATIONF E30F‫א‬‫א‬WE٧F

SQL> UPDATE dept
 2 SET dname='EDUCATION' E30F ‫א‬‫א‬‫א‬‫א‬
3 WHERE deptno=30 ;

1 row updated E30F ‫א‬‫א‬‫א‬



EEDUCATIONFESALESFE30F‫א‬‫א‬‫א‬‫א‬
E30F‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬EUPDATE deptF‫א‬‫א‬
‫א‬‫א‬‫؟‬E30F‫א‬‫א‬‫א‬، WHERE‫א‬‫א‬
 ‫؟‬‫א‬‫א‬WHERE‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬

- ١١٤ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 ESALESFEEDUCATIONF E30F‫א‬‫א‬WE٨F

SQL> UPDATE dept
2 SET dname='EDUCATION' ;

4 row updated ‫א‬ ‫א‬


‫א‬،EEDUCATIONF‫א‬‫א‬‫א‬‫א‬‫א‬
 KEWHEREF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 W‫א‬
‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬
 ‫א‬‫א‬‫א‬

  ‫א‬EBLAKEF‫א‬‫א‬‫א‬،
 W‫א‬‫א‬‫א‬‫؟‬‫א‬،EWARDF

 WE٩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
 KEBLAKEFEjob , deptnoF‫א‬‫א‬

 KEDELETE FROMF‫א‬

‫א‬
 KEDELETE FROMF‫א‬‫א‬‫א‬

- ١١٥ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 K‫א‬‫א‬‫א‬‫א‬

SQL > DELETE FROM 
WHERE  ;

 W‫א‬‫א‬
K‫א‬‫א‬‫א‬W ƒ
‫א‬‫א‬،EFW ƒ
KE‫א‬F‫א‬

 W‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬ WHERE‫א‬‫א‬ •
‫א‬‫א‬،
K‫א‬

 K‫א‬‫א‬‫א‬E40F‫א‬‫א‬WE١٠F

SQL> DELETE FROM dept
2 WHERE deptno = 40 ;

1 row deleted.

 ،‫א‬‫א‬‫א‬E40F‫א‬‫א‬‫א‬‫א‬
 K‫א‬
 K‫א‬‫א‬WE١١F

SQL> DELETE FROM emp ;

14 row deleted.

- ١١٦ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬WHERE ‫א‬‫א‬‫א‬
‫א‬،‫א‬‫א‬‫א‬‫א‬WF
 KE‫א‬EROLLBACKF‫א‬

 KESALESF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬WE١٢F

SQL> DELETE FROM emp
2 WHERE deptno=( select deptno from dept where dname='SALES' ) ;

6 row deleted. E30F ‫א‬‫א‬‫א‬‫א‬



ESALESF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬،E30F‫א‬‫א‬‫א‬‫א‬
 K‫א‬،E30F‫א‬‫א‬

‫א‬‫א‬‫א‬‫؟‬‫א‬‫א‬‫א‬E10F‫א‬‫א‬‫א‬
 K‫א‬‫א‬

 WE١٣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‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬

  KEempF‫א‬‫א‬‫א‬‫א‬ 


- ١١٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

Primary F‫א‬‫א‬‫א‬ EdeptnoF‫א‬‫א‬


 KEForeign KeyF‫א‬Ekey
 EDatabase TransactionsF‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬
،‫א‬‫א‬Database transactions
‫א‬‫א‬‫א‬ ‫א‬
‫א‬‫א‬‫א‬ECOMMITF‫א‬Database transactions
KESAVEF،‫א‬
 WDatabase transactions‫א‬
‫א‬ ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬COMMIT •
K‫א‬
K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ROLLBACK •
 KCOMMIT‫א‬
 W‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬‫א‬W‫א‬
SQL> DELETE FROM emp
2 WHERE deptno = 30 ;

6 row deleted.

SQL> COMMIT ;

E30F‫א‬‫א‬‫א‬‫א‬‫א‬
 K‫א‬COMMIT‫א‬‫א‬
 W‫א‬‫א‬‫א‬ ‫א‬‫א‬‫א‬W  ‫א‬‫א‬
‫א‬EDDLF‫א‬‫א‬‫א‬ESQL > EXITF
 WEDCLF‫א‬‫א‬
 (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


‫א‬‫א‬‫؟‬‫א‬‫א‬‫א‬‫א‬‫א‬–٢
 KE7000FEAHMEDF

KE1000F‫א‬‫א‬ E900F‫א‬‫א‬‫א‬ –٣
 K

 KE2222F‫א‬‫א‬J ٤

‫א‬‫א‬‫א‬‫א‬‫א‬–٥
 ‫؟‬

- ١١٩ -
 ‫א‬‫א‬‫א‬
ã¹]<gè…‚jÖ]æ<ËÖ]<Üé×Ãj×Ö<íÚ^ÃÖ]<퉉ö¹]
‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬
‫א‬‫א‬
‫א‬‫א‬

١٠
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬‫א‬
CREATING AND MANAGING TABLES

 W‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬

 W‫א‬‫א‬
 W‫א‬‫א‬‫א‬
K‫א‬‫א‬‫א‬ J ١
KDATATYPES‫א‬‫א‬ J ٢
K‫א‬‫א‬ J ٣
K‫א‬‫א‬‫א‬‫א‬‫א‬ J ٤
EF‫א‬‫א‬‫א‬ J ٥
K‫א‬ J ٦
K J ٧
K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬ J ٨

 W‫א‬‫א‬‫א‬
 K٪١٠٠‫א‬‫א‬‫א‬

 W‫א‬‫א‬

 W‫א‬‫א‬

K •
 K •
K •

 W‫א‬‫א‬
 K‫א‬

- ١٢١ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬


 ‫א‬SQL‫א‬‫א‬‫א‬
‫א‬‫א‬،EDDLF‫א‬E Data Definition LanguageF
‫א‬، ‫א‬‫א‬ 
‫א‬‫א‬‫א‬ETablesF‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬K‫א‬

 ‫א‬ ‫א‬
‫א‬‫א‬‫א‬‫א‬ ‫א‬
 Table
 K
W‫א‬
View
 K
‫א‬ W
 Sequence
 ‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬W
Index
 K‫א‬‫א‬‫א‬‫א‬،
 KW‫א‬ Synonym

 KETablesF‫א‬‫א‬‫א‬‫א‬‫א‬

- ١٢٢ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KDATATYPES ‫א‬‫א‬
   ‫א‬‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬‫א‬

 ‫א‬  ‫א‬
 ‫א‬‫א‬‫א‬‫א‬ Varchar2(‫)א‬
‫א‬‫א‬‫א‬‫א‬
Char(‫)א‬
 ‫א‬‫א‬
‫א‬EpF‫א‬ ‫א‬‫א‬
‫א‬EsF‫א‬،‫א‬‫א‬‫א‬ Number(p,s)
 K‫א‬‫א‬‫א‬
 ‫א‬‫א‬ Date
E2F‫א‬‫א‬‫א‬‫א‬
Long
 K
‫א‬‫א‬ ‫א‬‫א‬
CLOB – BLOB
 E4F‫א‬
‫א‬‫א‬‫א‬‫א‬
Bfile
 KE4F

 K‫א‬‫א‬‫א‬‫א‬‫א‬

 W‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
K‫א‬‫א‬‫א‬ •
K E30F‫א‬ •
KE_ , $ , #F‫א‬ •
K‫א‬‫א‬‫א‬‫א‬‫א‬ •

- ١٢٣ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

K‫א‬‫א‬‫א‬‫א‬ •
KEFROM , SELECT ...F‫א‬‫א‬‫א‬ •
K‫א‬‫א‬ •

 KCREATE TABLES ‫א‬‫א‬


 K‫א‬‫א‬‫א‬‫א‬

SQL > CREATE table ‫א‬ (
١‫ א‬‫א‬ ,
٢‫ א‬‫א‬ ,
٣‫ א‬‫א‬ ) ;

  KEdept2F‫א‬‫א‬‫א‬WE١F

SQL > CREATE TABLE dept2 ( ‫א‬


2 deptno NUMBER(2) ,
3 ‫א‬ dname VARCHAR2(14) ,
4 loc VARCHAR2(13) ) ;
Table created .

‫א‬‫א‬،‫א‬Edept2F‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬،E ١٤F‫א‬‫א‬،EF
‫א‬‫א‬‫א‬‫א‬،E  ١٣F
 W‫א‬‫א‬
SQL > DECRIBE dept2 ;

Name Null? Type


----------------------------------------- -------- ----------------------------
DEPTNO NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)

- ١٢٤ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬‫א‬‫א‬‫א‬‫א‬

،‫א‬‫א‬
‫א‬‫א‬ ‫א‬‫א‬
‫א‬‫א‬،‫א‬
  ‫א‬‫א‬،EEMPF‫א‬E30F‫א‬
 W‫א‬

 KEEMPF‫א‬‫א‬E30F‫א‬WE٢F

SQL > CREATE TABLE dept30
2 AS
3 SELECT empno , ename , sal*12 annsal , hiredate
4 FROM emp ‫א‬‫א‬
5 WHERE deptno = 30 ;
Table created .

 ‫א‬Edept30FE30F ‫א‬‫א‬‫א‬
EASF‫א‬ ‫א‬،‫א‬‫א‬‫א‬‫א‬select
Edept30F‫א‬‫א‬،‫א‬
‫א‬‫א‬‫א‬Edept30F‫א‬‫א‬،Eempno,ename,annsal,hiredateF
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬E30F
 W‫א‬Edept30F‫א‬‫א‬‫א‬K‫א‬
SQL > DECRIBE dept30 ;

Name Null? Type


----------------------------------------- ------------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
ANNSAL NUMBER
HIREDATE DATE



- ١٢٥ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 W‫א‬Edept30F‫א‬‫א‬‫א‬

SQL> SELECT * FROM DEPT30 ;

EMPNO ENAME ANNSAL HIREDATE


----------- --------------- -------------- --------------
 7499 ALLEN  19200 20-FEB-81
 7521 WARD  15000 22-FEB-81
 7654 MARTIN  15000 28-SEP-81
 7698 BLAKE  34200 01-MAY-81
 7844 TURNER  18000 08-SEP-81
7900 JAMES 11400 03-DEC-81

‫א‬‫א‬‫א‬‫א‬‫א‬
 ‫א‬‫א‬ ‫א‬،‫א‬
 W‫א‬‫א‬‫א‬‫א‬

EEMPF‫א‬‫א‬E20F‫א‬WE٣F
 KEEMPF‫א‬‫א‬

SQL > CREATE TABLE dept20
6 (emp_id , emp_name , salary , start_date )
7 AS
8 SELECT empno , ename , sal , hiredate
9 FROM emp ‫א‬‫א‬
10 WHERE deptno = 20 ;
Table created .

Edept20F‫א‬‫א‬‫א‬
 W‫א‬‫א‬،E20F‫א‬‫א‬
 Eemp_id , emp_name , salary , start_dateF   

- ١٢٦ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KALTER TABLE ‫א‬‫א‬‫א‬‫א‬



‫א‬‫א‬ESQLF‫א‬‫א‬
‫א‬،ALTER TABLE ‫א‬‫א‬E‫א‬‫א‬‫א‬F
‫א‬‫א‬‫א‬‫א‬
 W‫א‬K

ALTER TABLE‫א‬‫א‬‫א‬‫א‬
 ‫א‬ ADD
 ‫א‬ MODIFY
 ‫א‬ DROP

 KDEPT2‫א‬‫א‬‫א‬EREGIONFWE٤F

SQL> ALTER TABLE dept2
2 ADD ( region VARCHAR2(20) );
Table altered .

‫א‬‫א‬‫א‬‫א‬ ‫א‬EregionF ‫א‬‫א‬


‫א‬‫א‬،‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬،‫א‬

SQL > DECRIBE dept2 ;

Name Null? Type


----------------------------------------- -------- ----------------------------
DEPTNO NUMBER(2)
DNAME VARCHAR2(14)
LOC V ARCHAR2(13)
REGION V ARCHAR2(20)

- ١٢٧ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬


 K1420 EDNAMEF‫א‬‫א‬WE٥F

SQL> ALTER TABLE dept2
2 MODIFY ( dname VARCHAR2(20) );
Table altered .

VARCHAR2(20)dname‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬،VARCHAR2(14)
K‫א‬EF ƒ
‫א‬‫א‬‫א‬  ƒ
K
K‫א‬‫א‬EF ƒ

 KDEPT‫א‬‫א‬‫א‬REGION‫א‬‫א‬WE٦F

SQL> ALTER TABLE dept2
2 DROP COLUMN REGION ;
Table altered .

،EDEPT2F‫א‬‫א‬‫א‬EREGIONF‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬

K‫א‬ ‫א‬‫א‬‫א‬ ƒ
K‫א‬‫א‬‫א‬‫א‬ ƒ
K‫א‬‫א‬‫א‬‫א‬‫א‬ ƒ
K‫א‬‫א‬ ƒ

- ١٢٨ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KDROP‫א‬‫א‬

‫א‬ ‫א‬‫א‬
 K‫א‬،‫א‬‫א‬

 KEDEPT30F‫א‬‫א‬WE٧F

SQL> DROP TABLE dept 30 ;
Table dropped .


‫א‬E30F  ‫א‬‫א‬‫א‬‫א‬
 KEDEPT30F

 KRENAME ‫א‬‫א‬‫א‬

‫א‬EDEPARTMENTF
  ‫א‬EDEPT2F‫א‬
 W‫א‬‫א‬

 KEDEPARTMENTFEDEPT2F‫א‬‫א‬‫א‬WE٨F

SQL> RENAME dept2 TO deptartment
Table renamed.


،EdepartmentF‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬ ، ‫א‬‫א‬‫א‬
 K‫א‬‫א‬

- ١٢٩ -
 ‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 W‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬،USER TABLES‫א‬‫א‬ ƒ
K‫א‬‫א‬
،EORACLE SERVERF ‫א‬ ‫א‬ ƒ
‫א‬‫א‬،EDATA DICTIONARYF‫א‬‫א‬
 K‫א‬

 W
K‫א‬‫א‬‫א‬‫א‬WEUSER_F‫ƒ א‬
‫א‬‫א‬‫א‬‫א‬WEALL_F‫ƒ א‬
K‫א‬
 EDBAF‫א‬‫א‬WEDBA_F‫ƒ א‬
K‫א‬‫א‬‫א‬

 ‫א‬ ‫א‬‫א‬‫א‬‫א‬ WE٩F


 KEDATA DICTIONARYF

SQL> SELECT *
2 FROM user_tables ;

 K‫א‬‫א‬‫א‬WE١٠F

SQL> SELECT object_name , object_type
2 FROM user_objects ;

 K‫א‬‫א‬‫א‬‫א‬‫א‬ WE١١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

‫א‬‫א‬،‫א‬‫א‬ EMPLOYEEJ ٢
 ‫؟‬‫א‬‫א‬‫א‬‫א‬

Column Name ID LAST_NAME FIRST_NAME DEPT_ID


Key Type
Nulls/Unigue
FK Table
FK Column
Datatype Number Varchar2 Varchar2 Number
Length 7 25 25 7

E50FLAST_NAME‫א‬EMPLOYEEJ ٣
 W‫א‬‫א‬‫א‬KE25F

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
 ‫א‬FE100F‫א‬‫א‬
‫א‬،‫א‬‫א‬،‫א‬
 KE‫א‬F‫א‬EConstraintF
 K‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

- ١٣٥ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KConstraints ‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

 EDescriptionF‫א‬ EconstraintF‫א‬
 EF‫א‬‫א‬
NOT NULL
 ‫א‬
 E‫א‬‫א‬‫א‬F‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
UNIQUE
 K‫א‬‫א‬
‫א‬‫א‬،‫א‬‫א‬
 K‫א‬‫א‬‫א‬،‫א‬‫א‬ PRIMARY KEY
 K‫א‬‫א‬
 K
FOREIGN KEY
 K‫א‬‫א‬
K‫א‬‫א‬
CHECK
 K‫א‬‫א‬

 KCreate a Constrait ‫א‬

 W‫א‬
K‫א‬‫א‬ ƒ
K‫א‬‫א‬ ƒ

 K‫א‬‫א‬‫א‬
 K‫א‬

- ١٣٦ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KPRIMARY KEY ‫א‬


‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬Eprimary keyF
 W
 K‫א‬‫א‬‫א‬–١
 KENULLF‫א‬J ٢
‫א‬‫א‬‫א‬‫א‬‫א‬ ‫א‬
 ‫א‬    ‫א‬   
،‫א‬
 
 KEprimary keyF‫א‬‫א‬‫א‬
 
  K‫א‬‫א‬‫א‬‫א‬‫א‬WE١F

SQL > CREATE TABLE dept (
5 deptno NUMBER(2) PRIMARY KEY,
6 ‫א‬ dname VARCHAR2(14) NOT NULL ,
7 loc VARCHAR2(13)
8 ) ;
9 ‫א‬‫א‬
Table created .

‫א‬EdeptF‫א‬‫א‬‫א‬‫א‬‫א‬
F‫א‬‫א‬deptno‫א‬Eprimary keyF‫א‬‫א‬،Edeptno,dnameF
‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬E
 K
‫א‬‫א‬dname ‫א‬Enot nullF‫א‬‫א‬
‫א‬‫א‬K‫א‬‫א‬‫א‬‫א‬ ‫א‬‫א‬
 K‫א‬‫א‬ENOT NULLF

- ١٣٧ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

  K‫א‬‫א‬‫א‬‫א‬‫א‬WE٢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) ) ;

Table created . ‫א‬‫א‬

Eprimary keyFEdeptF‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬‫א‬، E5F‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬E١F
 K‫א‬Edept_deptno_pkF

 KUNIQUE KEY ‫א‬
‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬
 K‫א‬‫א‬‫א‬‫א‬‫א‬

  K‫א‬‫א‬‫א‬‫א‬EUNIQUEF‫א‬WE٣F

SQL > CREATE TABLE dept (
2 deptno NUMBER(2) ,
3 dname VARCHAR2(14) ,
4 loc VARCHAR2(13) ,
5 CONSTRAINT dept_deptno_uk UNIQUE(dname) ) ;

Table created . ‫א‬‫א‬

EuniqueFEdeptF‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬،‫א‬‫א‬‫א‬‫א‬ ‫א‬‫א‬EdnameF‫א‬
 K‫א‬‫א‬

- ١٣٨ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 KFOREIGN KEY ‫א‬


‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬‫א‬ ‫א‬،
‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬Eprimary keyF،
 W‫א‬‫א‬،Eforeign keyF‫א‬


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


‫א‬‫א‬EdeptnoF‫א‬Eforeign keyF‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬

‫א‬deptno ‫א‬Eforeign keyF‫א‬WE٤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) ) ;

Table created . ‫א‬‫א‬

- ١٣٩ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

‫א‬Eforeign keyFEempF‫א‬‫א‬‫א‬‫א‬‫א‬
EREFERENCESF‫؟‬Eforeign keyF،EdeptnoF
‫א‬EdeptnoF‫א‬‫א‬EdeptnoF‫א‬Eforeign keyF‫א‬
 K‫א‬‫א‬‫א‬KDEPT‫א‬
 W‫א‬‫א‬‫א‬‫א‬

‫א‬ deptno ‫א‬Eforeign keyF‫א‬WE٥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) ) ;

Table created . ‫א‬‫א‬


 KCHECK ‫א‬
 ‫א‬‫א‬،‫א‬‫א‬‫א‬‫א‬
‫א‬deptno‫א‬ ‫א‬‫א‬،‫א‬  
،‫א‬‫א‬E10 , 99F‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬

- ١٤٠ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 ‫א‬‫א‬‫א‬DEPTNO‫א‬ECHECKF‫א‬WE٦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) ) ;

Table created . ‫א‬‫א‬

deptno‫א‬EcheckFEdeptF‫א‬‫א‬‫א‬‫א‬‫א‬
 KE10 ,99F‫א‬‫א‬‫א‬‫א‬

 KAdding Constrait ‫א‬‫א‬
‫א‬‫א‬Alter Table ‫א‬‫א‬‫א‬‫א‬
 W‫א‬

SQL > ALTER TABLE ‫א‬
ADD CONSTRAINT ‫א‬ ‫א‬ ;

 K ‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬

  K‫א‬MGR ‫א‬EFOREIGN KEYF‫א‬WE٧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‫א‬WE٨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‫א‬‫א‬‫א‬WE٩F

SQL > ALTER TABLE emp
2 DROP CONSTRAINT emp_mgr_fk ;

Table altered .

Eemp_mgr_fkF‫א‬EForeign keyF‫א‬‫א‬‫א‬‫א‬‫א‬
 KEempF‫א‬

- ١٤٢ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬


‫א‬‫א‬‫א‬‫א‬
Efroeign keyF‫א‬‫א‬‫א‬‫א‬deptno‫א‬Eprimary keyF
‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬ deptno‫א‬
Eforeign keyF‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
 W‫א‬‫א‬‫א‬‫א‬‫א‬،‫א‬‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬WE١٠F
 K‫א‬‫א‬‫א‬‫א‬‫א‬


SQL > ALTER TABLE dept
2 DROP primary key CASCADE ;

Table altered .

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬‫א‬،ECASCADEF‫א‬‫א‬‫א‬
 K‫א‬EForeign keyF‫א‬‫א‬

 W ‫א‬‫א‬‫א‬‫א‬

‫א‬‫א‬‫א‬‫א‬‫א‬‫א‬
‫א‬‫א‬KData Dictionary‫א‬‫א‬
 W‫א‬‫א‬‫א‬

- ١٤٣ -
 ‫א‬‫א‬  ١٦١  ‫א‬‫א‬
 ‫א‬‫א‬‫א‬  ‫א‬‫א‬  ‫א‬

 K‫א‬‫א‬‫א‬‫א‬WE١١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
KCHECK‫א‬C‫ƒ א‬
KPrimary key‫א‬P‫ƒ א‬
KForeign key‫א‬R‫ƒ א‬
KUNIQUE‫א‬U‫ƒ א‬
 KCHECK‫א‬NOT NULL‫א‬

 K‫א‬‫א‬‫א‬‫א‬‫א‬

 K‫א‬‫א‬‫א‬WE١٢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 ٣

 KE1000 , 5000F‫א‬‫א‬–٤

 K‫א‬‫א‬‫א‬–٥

 KEMPLOYEE‫א‬‫א‬‫א‬–٦

- ١٤٥ -
 ‫א‬  ١٦١  ‫א‬‫א‬
  ‫א‬‫א‬  ‫א‬


 ‫א‬

 ‫א‬  ‫א‬
 ١  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

You might also like