SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
٢٠١٠
Mohamed_SuezMohamed_SuezMohamed_SuezMohamed_Suez
& HIS Wife& HIS Wife& HIS Wife& HIS Wife
ARABOUGARABOUGARABOUGARABOUG.org.org.org.org‫إلى‬ ‫إھداء‬
3/3/2010
^ S)SQL(bZ b ^ ^ V S _  ^
^ ^ [ ^ [.
SQL> desc dept
Name Null? Type
-----------------------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME
LOC VARCHAR2(13)
-------------------------------------------------------------------------------------------
SQL> select *
2 from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
VARCHAR2(14)
LOC VARCHAR2(13)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL> select empno,ename,job,hiredate
2 from emp;
EMPNO ENAME JOB HIREDATE
---------- ---------- --------- --------
7369 SMITH CLERK 17/12/80
7499 ALLEN SALESMAN 20/02/81
7521 WARD SALESMAN 22/02/81
7566 JONES MANAGER 02/04/81
7654 MARTIN SALESMAN 28/09/81
7698 BLAKE MANAGER 01/05/81
7782 CLARK MANAGER 09/06/81
7788 SCOTT ANALYST 19/04/87
7839 KING PRESIDENT 17/11/81
7844 TURNER SALESMAN 08/09/81
7876 ADAMS CLERK 23/05/87
EMPNO ENAME JOB HIREDATE
---------- ---------- --------- --------
7900 JAMES CLERK 03/12/81
7902 FORD ANALYST 03/12/81
7934 MILLER CLERK 23/01/82
14 rows selected.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select empno,ename,job,hiredate
HIREDATE
--------
7369 SMITH CLERK 17/12/80
7499 ALLEN SALESMAN 20/02/81
7521 WARD SALESMAN 22/02/81
7566 JONES MANAGER 02/04/81
9/81
7698 BLAKE MANAGER 01/05/81
7782 CLARK MANAGER 09/06/81
7788 SCOTT ANALYST 19/04/87
7839 KING PRESIDENT 17/11/81
7844 TURNER SALESMAN 08/09/81
7876 ADAMS CLERK 23/05/87
EMPNO ENAME JOB HIREDATE
--------
7900 JAMES CLERK 03/12/81
7902 FORD ANALYST 03/12/81
7934 MILLER CLERK 23/01/82
SQL> select distinct job
2* from emp;
JOB
---------
CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select empno employee_no, ename employee_name, job jobs
2* from emp
EMPLOYEE_NO EMPLOYEE_N JOBS
----------- ---------- ---------
7369 SMITH CLERK
7499 ALLEN SALESMAN
7521 WARD SALESMAN
7566 JONES MANAGER
7654 MARTIN SALESMAN
7698 BLAKE MANAGER
7782 CLARK MANAGER
7788 SCOTT ANALYST
7839 KING PRESIDENT
7844 TURNER SALESMAN
7876 ADAMS CLERK
EMPLOYEE_NO EMPLOYEE_N JOBS
----------- ---------- ---------
7900 JAMES CLERK
7902 FORD ANALYST
7934 MILLER CLERK
14 rows selected.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select empno employee_no, ename employee_name, job jobs
‫الثالث‬ ‫الفصل‬ ‫أسئلة‬
SQL> select ename,sal
2 from emp
3 where sal>2850
4 order by sal desc;
ENAME SAL
---------- ----------
KING 5000
FORD 3000
SCOTT 3000
JONES 2975
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
‫الثالث‬ ‫الفصل‬ ‫أسئلة‬
SQL> select ename,sal
٢ from emp
٣ where sal not between 1500 and
ENAME SAL
--------------------
SMITH 800
WARD 1250
JONES 2975
MARTIN 1250
SCOTT 3000
KING 5000
ADAMS 1100
JAMES 950
FORD 3000
MILLER 1300
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
and 2850‫؛‬
SQL> select ename,sal
2 from emp
3 where(deptno=10 or deptno=30
4 order by sal desc;
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
ALLEN 1600
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
30) and sal>1500
SQL> select ename,hiredate
2 from emp
3 where hiredate like'%82';
ENAME HIREDATE
---------- --------
MILLER 23/01/82
=================================
SQL> select hiredate
from emp
where ename = 'SCOTT';
HIREDATE
---------
19-APR-87
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
‫بالسؤال‬ ‫كما‬ ‫النتيجة‬ ‫تظھر‬ ‫ال‬ ‫ملحوظة‬‫ألن‬ ‫وذلك‬ ‫بالسؤال‬ ‫كما‬ ‫النتيجة‬ ‫تظھر‬ ‫ال‬ ‫ملحوظة‬
SQL> select ename,sal,comm
2 from emp
3 where comm is not null;
ENAME SAL COMM
---------- ---------- ----------
ALLEN 1600 300
WARD 1250 500
MARTIN 1250 1400
TURNER 1500 0
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select ename
2 from emp
3 where ename like'__A%';
ENAME
----------
BLAKE
CLARK
ADAMS
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select ename
2 from emp
3 where ename like'%LL%';
ENAME
----------
ALLEN
MILLER
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
1 SQL> select initcap(ename) EMP_NAME,length(ename)
NUMBER1,substr(ename,0,4) SECTION
2* from emp
EMP_NAME NUMBER1 SECT
---------- ---------- ----
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
EMP_NAME NUMBER1 SECT
---------- ---------- ----
James 5 JAME
Ford 4 FORD
Miller 6 MILL
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
‫الرابع‬ ‫الفصل‬ ‫أسئلة‬
SQL> select initcap(ename) EMP_NAME,length(ename)
) SECTION
1 SQL> select ename || job TITLE
2 from emp
3* where deptno=30
TITLE
-------------------
ALLENSALESMAN
WARDSALESMAN
MARTINSALESMAN
BLAKEMANAGER
TURNERSALESMAN
JAMESCLERK
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select ename || job TITLE
1 SQL> select ename ENAME,round((months_between(sysdate,hiredate)/
2* from emp
ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0)
---------- ----------------------------------------------
SMITH
ALLEN 29
WARD 29
JONES 29
MARTIN
BLAKE 29
CLARK 29
SCOTT 23
KING 28
TURNER
ADAMS 23
ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0)
---------- ----------------------------------------------
JAMES
FORD 28
MILLER 28
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
select ename ENAME,round((months_between(sysdate,hiredate)/
ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0)
----------------------------------------------
29
ALLEN 29
WARD 29
JONES 29
MARTIN 28
BLAKE 29
CLARK 29
SCOTT 23
KING 28
28
ADAMS 23
ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0)
----------------------------------------------
28
FORD 28
MILLER 28
select ename ENAME,round((months_between(sysdate,hiredate)/12),0)
SQL > select TO_CHAR(SYSDATE,'DAY "OF" MM YYYY')
2* from dual
TO_CHAR(SYSDATE,'DAY
--------------------
FRIDAY OF 03 2010
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL > select TO_CHAR(SYSDATE,'DAY "OF" MM YYYY')
SQL> Select to_date( ' FEBRUARY
2 From dual;
TO_DATE
---------
22-FEB-04
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> Select to_date( ' FEBRUARY 22, 2004','mm / dd/yyyy')
SQL> select max(sal) MAXIMUM,min(sal) NINIMUM,sum(sal) SUM,round(avg(sal))
AVERAGE
;from emp
MAXIMUM NINIMUM SUM AVERAGE
----------------------------------------
5000 800 29025 2073
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
‫الخامس‬ ‫الفصل‬ ‫أسئلة‬
SQL> select max(sal) MAXIMUM,min(sal) NINIMUM,sum(sal) SUM,round(avg(sal))
MAXIMUM NINIMUM SUM AVERAGE
SQL> select max(sal) MAXIMUM,min(sal) NINIMUM,sum(sal) SUM,round(avg(sal))
SQL> select job,max(sal) as MAXIMUM,min(sal) as MINIMUM
from emp
;group by job
JOB MAXIMUM MINIMUM
-----------------------------
CLERK 1300 800
SALESMAN 1600 1250
PRESIDENT 5000 5000
MANAGER 2975 2450
ANALYST 3000 3000
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
ob,max(sal) as MAXIMUM,min(sal) as MINIMUM
SQL> select job,count(job)
from emp
group by job;
JOB COUNT(JOB)
-------------------
CLERK 4
SALESMAN 4
PRESIDENT 1
MANAGER 3
ANALYST 2
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select count(distinct mgr) ‘NUMBER
;from emp
NUMBER1 OF MANAGER
------------------
6
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
‘NUMBER1 OF MANAGER’
SQL> select e.ename,e.deptno,d.dname
2 from emp e,dept d
3 where e.deptno=d.deptno
4* and e.deptno=30;
ENAME DEPTNO DNAME
---------- ---------- --------------
ALLEN 30 SALES
WARD 30 SALES
MARTIN 30 SALES
BLAKE 30 SALES
TURNER 30 SALES
JAMES 30 SALES
6 rows selected.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select e.ename,e.deptno,d.dname
SQL> select distinct( e.job),d.loc
2 from emp e,dept d
3 where e.deptno=d.deptno
4* and e.deptno=30;
JOB LOC
--------- -------------
SALESMAN CHICAGO
MANAGER CHICAGO
CLERK CHICAGO
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
c
SQL> select e.ename,e.job,d.dname
2 from emp e,dept d
3 where e.deptno=d.deptno
4* and d.loc like 'DALLAS'
ENAME JOB DNAME
---------- --------- --------------
SMITH CLERK RESEARCH
JONES MANAGER RESEARCH
SCOTT ANALYST RESEARCH
ADAMS CLERK RESEARCH
FORD ANALYST RESEARCH
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select e.ename,e.job,d.dname
SQL> select e.ename,e.job,d.dname,e.sal,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)
5 and e.deptno=10
6* order by sal;
ENAME JOB DNAME
---------- --------- -------------- ----------
MILLER CLERK ACCOUNTING 1300 2
CLARK MANAGER ACCOUNTING 2450 4
KING PRESIDENT ACCOUNTING 5
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
> select e.ename,e.job,d.dname,e.sal,s.grade
and e.sal between s.losal and s.hisal)
ENAME JOB DNAME SAL GRADE
---------- ----------
MILLER CLERK ACCOUNTING 1300 2
CLARK MANAGER ACCOUNTING 2450 4
KING PRESIDENT ACCOUNTING 5000 5
SQL> select e.empno,e.ename,m.empno,m.ename
2 from emp e,emp m
3 where e.mgr=m.empno
4 and e.deptno=10;
EMPNO ENAME EMPNO ENAME
---------- ---------- ---------- ----------
7782 CLARK 7839 KING
7934 MILLER 7782 CLARK
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select e.empno,e.ename,m.empno,m.ename
----------
SQL> select ename,hiredate
2 from emp
3 where deptno=(select deptno
4 from emp
5 where ename like 'BLAKE');
ENAME HIREDATE
---------- --------
ALLEN 20/02/81
WARD 22/02/81
MARTIN 28/09/81
BLAKE 01/05/81
TURNER 08/09/81
JAMES 03/12/81
6 rows selected.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select empno,ename
2 from emp
3 where sal> all(select avg(sal)
4 from emp)
5* order by sal desc;
EMPNO ENAME
---------- ----------
7839 KING
7902 FORD
7788 SCOTT
7566 JONES
7698 BLAKE
7782 CLARK
6 rows selected.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select ename,deptno,job
2 from emp
3 where deptno=(select deptno
4 from dept
5* where loc like 'DALLAS')
ENAME DEPTNO JOB
---------- ---------- ---------
SMITH 20 CLERK
JONES 20 MANAGER
SCOTT 20 ANALYST
ADAMS 20 CLERK
FORD 20 ANALYST
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
* where loc like 'DALLAS');
SQL> select empno,ename,job,sal
2 from emp
3 where sal< all(select sal
4 from emp
5 where job like 'SALESMAN')
6 and job<>'SALESMAN';
EMPNO ENAME JOB SAL
---------- ---------- --------- ----------
7369 SMITH CLERK 800
7876 ADAMS CLERK 1100
7900 JAMES CLERK 950
SQL> select sal
2 from emp
3 where job like 'SALESMAN';
SAL
----------
1600
1250
1250
1500
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select empno,ename,job,sal
where job like 'SALESMAN')
EMPNO ENAME JOB SAL
----------
7369 SMITH CLERK 800
CLERK 1100
7900 JAMES CLERK 950
SQL> select ename,deptno,sal
2 from emp
3 where (sal,deptno) in (select sal,deptno
4 from emp
5 where comm is not null)
6 order by sal;
ENAME DEPTNO SAL
---------- ---------- ----------
MARTIN 30 1250
WARD 30 1250
TURNER 30 1500
ALLEN 30 1600
SQL> spool off
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
ere (sal,deptno) in (select sal,deptno
where comm is not null)
ENAME DEPTNO SAL
MARTIN 30 1250
WARD 30 1250
ALLEN 30 1600
SQL> select distinct e.ename,dal.dname ,e.sal
2 from emp e,(select m.sal,m.comm,d.dname
3 from emp m,dept d
4 where m.deptno=d.deptno
5 and d.loc = 'DALLAS')dal
6 where e.sal=dal.sal
7 and nvl(e.comm,0) = nvl(dal.comm,
8 order by sal;
ENAME DNAME SAL
---------- -------------- ----------
SMITH RESEARCH 800
ADAMS RESEARCH 1100
JONES RESEARCH 2975
FORD RESEARCH 3000
SCOTT RESEARCH 3000
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> select distinct e.ename,dal.dname ,e.sal
from emp e,(select m.sal,m.comm,d.dname
where m.deptno=d.deptno
and d.loc = 'DALLAS')dal
) = nvl(dal.comm,0)
SQL> select ename,hiredate,sal
2 from emp
3 where (sal,nvl(comm,0)) in (select sal,nvl(comm,
4 from emp
5 where ename = 'SCOTT')
6 and ename<>'SCOTT';
ENAME HIREDATE SAL
---------- -------- ----------
FORD 03/12/81 3000
SQL> spool off
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
)) in (select sal,nvl(comm,0)
ENAME HIREDATE SAL
FORD 03/12/81 3000
SQL>insert into emp
values(1111,'AHMED','ENGENEER',
1 row created.
============================================
commit
--
SQL >update emp
set sal=7000
where ename='AHMED';
1 row updated.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
,'AHMED','ENGENEER',7839,'01-01-2004',5000,200,10);
===============
SQL> update emp
2 set sal = 1000
3 where sal<900;
1 row updated.
SQL>commit
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> delete from emp
2 where empno=1111;
1 row deleted.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> insert into emp
2 values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno);
Enter value for empno: 111
Enter value for ename: 'Moh_Suez'
Enter value for job: 'DBA'
Enter value for mgr: 0
Enter value for hiredate: '01-01-2010
Enter value for sal: 12000
Enter value for comm: 1200
Enter value for deptno: 10
old 2: values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno)
new 2: values (111,'Moh_Suez','DBA',
1 row created.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno);
Enter value for ename: 'Moh_Suez'
2010'
: values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno)
,'Moh_Suez','DBA',0,'01-01-2010',12000,1200,10)
values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno);
: values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno)
SQL> create table department
(Id number(7),Name varchar2(25
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
25));
SQL> create table EMPLOYEE
2 (ID number(7),LAST_NAME varchar
number(7));
Table created.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
),LAST_NAME varchar2(25),FIRST_NAME varchar2(2525),DEPT_ID
SQL> alter table employee
2 modify ( 3 LAST_NAME varchar
Table altered.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
LAST_NAME varchar2(50));
SQL> create table employee
2 (ID,LAST_NAME,DEPT_ID)
3 as
4 select empno,ename,deptno
5 from emp;
Table created.******
SQL> select*
2 from employee;
ID LAST_NAME DEPT_ID
---------- ---------- ----------
7369 SMITH 20
7499 ALLEN 30
7521 WARD 30
7566 JONES 20
7654 MARTIN 30
7698 BLAKE 30
7782 CLARK 10
7788 SCOTT 20
7839 KING 10
7844 TURNER 30
7876 ADAMS 20
ID LAST_NAME DEPT_ID
---------- ---------- ----------
7900 JAMES 30
7902 FORD 20
7934 MILLER 10
14 rows selected.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> create table employee
as
4 select empno ID,ename
LAST_NAME,deptno DEPT_ID
5 from emp;
Table created.******
SQL> select *
2 from employee;
ID LAST_NAME DEPT_ID
---------- ---------- ----------
7369 SMITH 20
7499 ALLEN 30
7521 WARD 30
7566 JONES 20
7654 MARTIN 30
7698 BLAKE 30
7782 CLARK 10
7788 SCOTT 20
7839 KING 10
7844 TURNER 30
7876 ADAMS 20
ID LAST_NAME DEPT_ID
---------- ---------- ----------
7900 JAMES 30
7902 FORD 20
7934 MILLER 10
14 rows selected.
SQL> alter table employee2
2 add (FIRST_NAME varchar2(25
Table altered.
SQL> drop table employee;
Table dropped.
SQL> Rename employee2 to employee;
Table renamed.
SQL> alter table employee
drop (last_name);
Table altered
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
25));
to employee;
‫واألخير‬ ‫عشر‬ ‫الحادى‬ ‫الفصل‬ ‫أسئلة‬
SQL> create table DEPARTMENT ( deptno number(
varchar2(10),loc varchar2(15));
Table created.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
‫واألخير‬ ‫عشر‬ ‫الحادى‬ ‫الفصل‬ ‫أسئلة‬
SQL> create table DEPARTMENT ( deptno number(3) primary key,dname) primary key,dname
SQL> create table EMPLOYEE(empno number(
varchar2(10),
2 constraint emp_pk primary key(empno),
3* constraint emp_uk unique(dname) ) ;
Table created.
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
SQL> create table EMPLOYEE(empno number(3) ,ename varchar2(10),dname
p_pk primary key(empno),
* constraint emp_uk unique(dname) ) ;
),dname
SQL> alter table employee
add constraint deptno_fk forign key(deptno) references dept(deptno);
Table altered.
SQL> alter table employee
add constraint sal_ck check(sal between
Table altered.
SQL> select constraint_name,column_name
from user_cons_column
where table_name='EMPLOYEE';
XXXXXXXXXXXXXXXXXX
SQL> select constraint-name,constraint_type
from user_constraint
where table_name='EMPLOYEE';
CONSTRAINT_NAME C
------------------------------ -
PK_EMP P
FK_DEPTNO R
‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
add constraint deptno_fk forign key(deptno) references dept(deptno);
al between 1000 and 5000);
SQL> select constraint_name,column_name
where table_name='EMPLOYEE';
name,constraint_type
where table_name='EMPLOYEE';

Weitere ähnliche Inhalte

Was ist angesagt?

Mainframe JCL Part - 1
Mainframe JCL Part - 1Mainframe JCL Part - 1
Mainframe JCL Part - 1
janaki ram
 
SQL select statement and functions
SQL select statement and functionsSQL select statement and functions
SQL select statement and functions
Vikas Gupta
 

Was ist angesagt? (20)

View & index in SQL
View & index in SQLView & index in SQL
View & index in SQL
 
Sql commands
Sql commandsSql commands
Sql commands
 
Displaying data from multiple tables
Displaying data from multiple tablesDisplaying data from multiple tables
Displaying data from multiple tables
 
Java Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, LoopsJava Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, Loops
 
Oracle Database SQL Tuning Concept
Oracle Database SQL Tuning ConceptOracle Database SQL Tuning Concept
Oracle Database SQL Tuning Concept
 
Oracle SGA 介紹
Oracle SGA 介紹Oracle SGA 介紹
Oracle SGA 介紹
 
04 Handling Exceptions
04 Handling Exceptions04 Handling Exceptions
04 Handling Exceptions
 
Oracle Instance 介紹
Oracle Instance 介紹Oracle Instance 介紹
Oracle Instance 介紹
 
07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development07 Using Oracle-Supported Package in Application Development
07 Using Oracle-Supported Package in Application Development
 
Mainframe JCL Part - 1
Mainframe JCL Part - 1Mainframe JCL Part - 1
Mainframe JCL Part - 1
 
Oracle使用者安全設定
Oracle使用者安全設定Oracle使用者安全設定
Oracle使用者安全設定
 
Mysql
MysqlMysql
Mysql
 
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
 
PLSQL Cursors
PLSQL CursorsPLSQL Cursors
PLSQL Cursors
 
Oracle 資料庫建立
Oracle 資料庫建立Oracle 資料庫建立
Oracle 資料庫建立
 
SQL(DDL & DML)
SQL(DDL & DML)SQL(DDL & DML)
SQL(DDL & DML)
 
Practical Recipes for Daily DBA Activities using DB2 9 and 10 for z/OS
Practical Recipes for Daily DBA Activities using DB2 9 and 10 for z/OSPractical Recipes for Daily DBA Activities using DB2 9 and 10 for z/OS
Practical Recipes for Daily DBA Activities using DB2 9 and 10 for z/OS
 
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata MigrationsTanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
 
Sequences and indexes
Sequences and indexesSequences and indexes
Sequences and indexes
 
SQL select statement and functions
SQL select statement and functionsSQL select statement and functions
SQL select statement and functions
 

Andere mochten auch (7)

كيفية الحصول على شهادات اوراكل
كيفية الحصول على شهادات اوراكلكيفية الحصول على شهادات اوراكل
كيفية الحصول على شهادات اوراكل
 
6i محاضرات في أوراكل ديفلوبر
6i محاضرات في أوراكل ديفلوبر6i محاضرات في أوراكل ديفلوبر
6i محاضرات في أوراكل ديفلوبر
 
اسئلة قواعد البيانات
اسئلة قواعد البياناتاسئلة قواعد البيانات
اسئلة قواعد البيانات
 
مراحل بناء قاعدة البيانات
مراحل بناء قاعدة البياناتمراحل بناء قاعدة البيانات
مراحل بناء قاعدة البيانات
 
مشروع قواعد البيانات
مشروع قواعد البيانات مشروع قواعد البيانات
مشروع قواعد البيانات
 
قواعد اللغه العربيه
قواعد اللغه العربيهقواعد اللغه العربيه
قواعد اللغه العربيه
 
قواعد البيانات
قواعد البياناتقواعد البيانات
قواعد البيانات
 

Ähnlich wie حل اسئلة الكتاب السعودى فى شرح قواعد البيانات اوراكل

SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2
Umair Amjad
 
Les01-Oracle
Les01-OracleLes01-Oracle
Les01-Oracle
suman1248
 

Ähnlich wie حل اسئلة الكتاب السعودى فى شرح قواعد البيانات اوراكل (20)

Sql2
Sql2Sql2
Sql2
 
SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2SQL WORKSHOP::Lecture 2
SQL WORKSHOP::Lecture 2
 
COIS 420 - Practice02
COIS 420 - Practice02COIS 420 - Practice02
COIS 420 - Practice02
 
Les02[1]Restricting and Sorting Data
Les02[1]Restricting and Sorting DataLes02[1]Restricting and Sorting Data
Les02[1]Restricting and Sorting Data
 
Restricting and sorting data
Restricting and sorting data Restricting and sorting data
Restricting and sorting data
 
chap2 (3).ppt
chap2 (3).pptchap2 (3).ppt
chap2 (3).ppt
 
Les02.pptx
Les02.pptxLes02.pptx
Les02.pptx
 
Les02
Les02Les02
Les02
 
Les02 Restricting And Sorting Data
Les02 Restricting And Sorting DataLes02 Restricting And Sorting Data
Les02 Restricting And Sorting Data
 
Les02
Les02Les02
Les02
 
Sqlplus
SqlplusSqlplus
Sqlplus
 
12c Mini Lesson - ANSI standard TOP-N query syntax
12c Mini Lesson - ANSI standard TOP-N query syntax12c Mini Lesson - ANSI standard TOP-N query syntax
12c Mini Lesson - ANSI standard TOP-N query syntax
 
Les01
Les01Les01
Les01
 
Les01
Les01Les01
Les01
 
Analytic SQL Sep 2013
Analytic SQL Sep 2013Analytic SQL Sep 2013
Analytic SQL Sep 2013
 
Les01-Oracle
Les01-OracleLes01-Oracle
Les01-Oracle
 
Connor McDonald 11g for developers
Connor McDonald 11g for developersConnor McDonald 11g for developers
Connor McDonald 11g for developers
 
Using SQL to process hierarchies
Using SQL to process hierarchiesUsing SQL to process hierarchies
Using SQL to process hierarchies
 
12c Mini Lesson - Inline PLSQL from SQL
12c Mini Lesson - Inline PLSQL from SQL12c Mini Lesson - Inline PLSQL from SQL
12c Mini Lesson - Inline PLSQL from SQL
 
MERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known FacetsMERGE SQL Statement: Lesser Known Facets
MERGE SQL Statement: Lesser Known Facets
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Kürzlich hochgeladen (20)

HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 

حل اسئلة الكتاب السعودى فى شرح قواعد البيانات اوراكل

  • 1. ٢٠١٠ Mohamed_SuezMohamed_SuezMohamed_SuezMohamed_Suez & HIS Wife& HIS Wife& HIS Wife& HIS Wife ARABOUGARABOUGARABOUGARABOUG.org.org.org.org‫إلى‬ ‫إھداء‬ 3/3/2010 ^ S)SQL(bZ b ^ ^ V S _ ^ ^ ^ [ ^ [.
  • 2. SQL> desc dept Name Null? Type ----------------------------------------- DEPTNO NOT NULL NUMBER(2) DNAME LOC VARCHAR2(13) ------------------------------------------------------------------------------------------- SQL> select * 2 from dept; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ Name Null? Type ----------------------------------------- -------- ---------------------------- DEPTNO NOT NULL NUMBER(2) VARCHAR2(14) LOC VARCHAR2(13) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 3. SQL> select empno,ename,job,hiredate 2 from emp; EMPNO ENAME JOB HIREDATE ---------- ---------- --------- -------- 7369 SMITH CLERK 17/12/80 7499 ALLEN SALESMAN 20/02/81 7521 WARD SALESMAN 22/02/81 7566 JONES MANAGER 02/04/81 7654 MARTIN SALESMAN 28/09/81 7698 BLAKE MANAGER 01/05/81 7782 CLARK MANAGER 09/06/81 7788 SCOTT ANALYST 19/04/87 7839 KING PRESIDENT 17/11/81 7844 TURNER SALESMAN 08/09/81 7876 ADAMS CLERK 23/05/87 EMPNO ENAME JOB HIREDATE ---------- ---------- --------- -------- 7900 JAMES CLERK 03/12/81 7902 FORD ANALYST 03/12/81 7934 MILLER CLERK 23/01/82 14 rows selected. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select empno,ename,job,hiredate HIREDATE -------- 7369 SMITH CLERK 17/12/80 7499 ALLEN SALESMAN 20/02/81 7521 WARD SALESMAN 22/02/81 7566 JONES MANAGER 02/04/81 9/81 7698 BLAKE MANAGER 01/05/81 7782 CLARK MANAGER 09/06/81 7788 SCOTT ANALYST 19/04/87 7839 KING PRESIDENT 17/11/81 7844 TURNER SALESMAN 08/09/81 7876 ADAMS CLERK 23/05/87 EMPNO ENAME JOB HIREDATE -------- 7900 JAMES CLERK 03/12/81 7902 FORD ANALYST 03/12/81 7934 MILLER CLERK 23/01/82
  • 4. SQL> select distinct job 2* from emp; JOB --------- CLERK SALESMAN PRESIDENT MANAGER ANALYST ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 5. SQL> select empno employee_no, ename employee_name, job jobs 2* from emp EMPLOYEE_NO EMPLOYEE_N JOBS ----------- ---------- --------- 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 7566 JONES MANAGER 7654 MARTIN SALESMAN 7698 BLAKE MANAGER 7782 CLARK MANAGER 7788 SCOTT ANALYST 7839 KING PRESIDENT 7844 TURNER SALESMAN 7876 ADAMS CLERK EMPLOYEE_NO EMPLOYEE_N JOBS ----------- ---------- --------- 7900 JAMES CLERK 7902 FORD ANALYST 7934 MILLER CLERK 14 rows selected. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select empno employee_no, ename employee_name, job jobs
  • 6. ‫الثالث‬ ‫الفصل‬ ‫أسئلة‬ SQL> select ename,sal 2 from emp 3 where sal>2850 4 order by sal desc; ENAME SAL ---------- ---------- KING 5000 FORD 3000 SCOTT 3000 JONES 2975 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ‫الثالث‬ ‫الفصل‬ ‫أسئلة‬
  • 7. SQL> select ename,sal ٢ from emp ٣ where sal not between 1500 and ENAME SAL -------------------- SMITH 800 WARD 1250 JONES 2975 MARTIN 1250 SCOTT 3000 KING 5000 ADAMS 1100 JAMES 950 FORD 3000 MILLER 1300 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ and 2850‫؛‬
  • 8. SQL> select ename,sal 2 from emp 3 where(deptno=10 or deptno=30 4 order by sal desc; ENAME SAL ---------- ---------- KING 5000 BLAKE 2850 CLARK 2450 ALLEN 1600 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ 30) and sal>1500
  • 9. SQL> select ename,hiredate 2 from emp 3 where hiredate like'%82'; ENAME HIREDATE ---------- -------- MILLER 23/01/82 ================================= SQL> select hiredate from emp where ename = 'SCOTT'; HIREDATE --------- 19-APR-87 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ‫بالسؤال‬ ‫كما‬ ‫النتيجة‬ ‫تظھر‬ ‫ال‬ ‫ملحوظة‬‫ألن‬ ‫وذلك‬ ‫بالسؤال‬ ‫كما‬ ‫النتيجة‬ ‫تظھر‬ ‫ال‬ ‫ملحوظة‬
  • 10. SQL> select ename,sal,comm 2 from emp 3 where comm is not null; ENAME SAL COMM ---------- ---------- ---------- ALLEN 1600 300 WARD 1250 500 MARTIN 1250 1400 TURNER 1500 0 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 11. SQL> select ename 2 from emp 3 where ename like'__A%'; ENAME ---------- BLAKE CLARK ADAMS ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 12. SQL> select ename 2 from emp 3 where ename like'%LL%'; ENAME ---------- ALLEN MILLER ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 13. 1 SQL> select initcap(ename) EMP_NAME,length(ename) NUMBER1,substr(ename,0,4) SECTION 2* from emp EMP_NAME NUMBER1 SECT ---------- ---------- ---- 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 EMP_NAME NUMBER1 SECT ---------- ---------- ---- James 5 JAME Ford 4 FORD Miller 6 MILL ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ‫الرابع‬ ‫الفصل‬ ‫أسئلة‬ SQL> select initcap(ename) EMP_NAME,length(ename) ) SECTION
  • 14. 1 SQL> select ename || job TITLE 2 from emp 3* where deptno=30 TITLE ------------------- ALLENSALESMAN WARDSALESMAN MARTINSALESMAN BLAKEMANAGER TURNERSALESMAN JAMESCLERK ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select ename || job TITLE
  • 15. 1 SQL> select ename ENAME,round((months_between(sysdate,hiredate)/ 2* from emp ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0) ---------- ---------------------------------------------- SMITH ALLEN 29 WARD 29 JONES 29 MARTIN BLAKE 29 CLARK 29 SCOTT 23 KING 28 TURNER ADAMS 23 ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0) ---------- ---------------------------------------------- JAMES FORD 28 MILLER 28 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ select ename ENAME,round((months_between(sysdate,hiredate)/ ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0) ---------------------------------------------- 29 ALLEN 29 WARD 29 JONES 29 MARTIN 28 BLAKE 29 CLARK 29 SCOTT 23 KING 28 28 ADAMS 23 ENAME ROUND((MONTHS_BETWEEN(SYSDATE,HIREDATE)/12),0) ---------------------------------------------- 28 FORD 28 MILLER 28 select ename ENAME,round((months_between(sysdate,hiredate)/12),0)
  • 16. SQL > select TO_CHAR(SYSDATE,'DAY "OF" MM YYYY') 2* from dual TO_CHAR(SYSDATE,'DAY -------------------- FRIDAY OF 03 2010 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL > select TO_CHAR(SYSDATE,'DAY "OF" MM YYYY')
  • 17. SQL> Select to_date( ' FEBRUARY 2 From dual; TO_DATE --------- 22-FEB-04 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> Select to_date( ' FEBRUARY 22, 2004','mm / dd/yyyy')
  • 18. SQL> select max(sal) MAXIMUM,min(sal) NINIMUM,sum(sal) SUM,round(avg(sal)) AVERAGE ;from emp MAXIMUM NINIMUM SUM AVERAGE ---------------------------------------- 5000 800 29025 2073 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ‫الخامس‬ ‫الفصل‬ ‫أسئلة‬ SQL> select max(sal) MAXIMUM,min(sal) NINIMUM,sum(sal) SUM,round(avg(sal)) MAXIMUM NINIMUM SUM AVERAGE SQL> select max(sal) MAXIMUM,min(sal) NINIMUM,sum(sal) SUM,round(avg(sal))
  • 19. SQL> select job,max(sal) as MAXIMUM,min(sal) as MINIMUM from emp ;group by job JOB MAXIMUM MINIMUM ----------------------------- CLERK 1300 800 SALESMAN 1600 1250 PRESIDENT 5000 5000 MANAGER 2975 2450 ANALYST 3000 3000 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ob,max(sal) as MAXIMUM,min(sal) as MINIMUM
  • 20. SQL> select job,count(job) from emp group by job; JOB COUNT(JOB) ------------------- CLERK 4 SALESMAN 4 PRESIDENT 1 MANAGER 3 ANALYST 2 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 21. SQL> select count(distinct mgr) ‘NUMBER ;from emp NUMBER1 OF MANAGER ------------------ 6 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ‘NUMBER1 OF MANAGER’
  • 22. SQL> select e.ename,e.deptno,d.dname 2 from emp e,dept d 3 where e.deptno=d.deptno 4* and e.deptno=30; ENAME DEPTNO DNAME ---------- ---------- -------------- ALLEN 30 SALES WARD 30 SALES MARTIN 30 SALES BLAKE 30 SALES TURNER 30 SALES JAMES 30 SALES 6 rows selected. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select e.ename,e.deptno,d.dname
  • 23. SQL> select distinct( e.job),d.loc 2 from emp e,dept d 3 where e.deptno=d.deptno 4* and e.deptno=30; JOB LOC --------- ------------- SALESMAN CHICAGO MANAGER CHICAGO CLERK CHICAGO ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ c
  • 24. SQL> select e.ename,e.job,d.dname 2 from emp e,dept d 3 where e.deptno=d.deptno 4* and d.loc like 'DALLAS' ENAME JOB DNAME ---------- --------- -------------- SMITH CLERK RESEARCH JONES MANAGER RESEARCH SCOTT ANALYST RESEARCH ADAMS CLERK RESEARCH FORD ANALYST RESEARCH ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select e.ename,e.job,d.dname
  • 25. SQL> select e.ename,e.job,d.dname,e.sal,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) 5 and e.deptno=10 6* order by sal; ENAME JOB DNAME ---------- --------- -------------- ---------- MILLER CLERK ACCOUNTING 1300 2 CLARK MANAGER ACCOUNTING 2450 4 KING PRESIDENT ACCOUNTING 5 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ > select e.ename,e.job,d.dname,e.sal,s.grade and e.sal between s.losal and s.hisal) ENAME JOB DNAME SAL GRADE ---------- ---------- MILLER CLERK ACCOUNTING 1300 2 CLARK MANAGER ACCOUNTING 2450 4 KING PRESIDENT ACCOUNTING 5000 5
  • 26. SQL> select e.empno,e.ename,m.empno,m.ename 2 from emp e,emp m 3 where e.mgr=m.empno 4 and e.deptno=10; EMPNO ENAME EMPNO ENAME ---------- ---------- ---------- ---------- 7782 CLARK 7839 KING 7934 MILLER 7782 CLARK ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select e.empno,e.ename,m.empno,m.ename ----------
  • 27. SQL> select ename,hiredate 2 from emp 3 where deptno=(select deptno 4 from emp 5 where ename like 'BLAKE'); ENAME HIREDATE ---------- -------- ALLEN 20/02/81 WARD 22/02/81 MARTIN 28/09/81 BLAKE 01/05/81 TURNER 08/09/81 JAMES 03/12/81 6 rows selected. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 28. SQL> select empno,ename 2 from emp 3 where sal> all(select avg(sal) 4 from emp) 5* order by sal desc; EMPNO ENAME ---------- ---------- 7839 KING 7902 FORD 7788 SCOTT 7566 JONES 7698 BLAKE 7782 CLARK 6 rows selected. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 29. SQL> select ename,deptno,job 2 from emp 3 where deptno=(select deptno 4 from dept 5* where loc like 'DALLAS') ENAME DEPTNO JOB ---------- ---------- --------- SMITH 20 CLERK JONES 20 MANAGER SCOTT 20 ANALYST ADAMS 20 CLERK FORD 20 ANALYST ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ * where loc like 'DALLAS');
  • 30. SQL> select empno,ename,job,sal 2 from emp 3 where sal< all(select sal 4 from emp 5 where job like 'SALESMAN') 6 and job<>'SALESMAN'; EMPNO ENAME JOB SAL ---------- ---------- --------- ---------- 7369 SMITH CLERK 800 7876 ADAMS CLERK 1100 7900 JAMES CLERK 950 SQL> select sal 2 from emp 3 where job like 'SALESMAN'; SAL ---------- 1600 1250 1250 1500 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select empno,ename,job,sal where job like 'SALESMAN') EMPNO ENAME JOB SAL ---------- 7369 SMITH CLERK 800 CLERK 1100 7900 JAMES CLERK 950
  • 31. SQL> select ename,deptno,sal 2 from emp 3 where (sal,deptno) in (select sal,deptno 4 from emp 5 where comm is not null) 6 order by sal; ENAME DEPTNO SAL ---------- ---------- ---------- MARTIN 30 1250 WARD 30 1250 TURNER 30 1500 ALLEN 30 1600 SQL> spool off ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ere (sal,deptno) in (select sal,deptno where comm is not null) ENAME DEPTNO SAL MARTIN 30 1250 WARD 30 1250 ALLEN 30 1600
  • 32. SQL> select distinct e.ename,dal.dname ,e.sal 2 from emp e,(select m.sal,m.comm,d.dname 3 from emp m,dept d 4 where m.deptno=d.deptno 5 and d.loc = 'DALLAS')dal 6 where e.sal=dal.sal 7 and nvl(e.comm,0) = nvl(dal.comm, 8 order by sal; ENAME DNAME SAL ---------- -------------- ---------- SMITH RESEARCH 800 ADAMS RESEARCH 1100 JONES RESEARCH 2975 FORD RESEARCH 3000 SCOTT RESEARCH 3000 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> select distinct e.ename,dal.dname ,e.sal from emp e,(select m.sal,m.comm,d.dname where m.deptno=d.deptno and d.loc = 'DALLAS')dal ) = nvl(dal.comm,0)
  • 33. SQL> select ename,hiredate,sal 2 from emp 3 where (sal,nvl(comm,0)) in (select sal,nvl(comm, 4 from emp 5 where ename = 'SCOTT') 6 and ename<>'SCOTT'; ENAME HIREDATE SAL ---------- -------- ---------- FORD 03/12/81 3000 SQL> spool off ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ )) in (select sal,nvl(comm,0) ENAME HIREDATE SAL FORD 03/12/81 3000
  • 34. SQL>insert into emp values(1111,'AHMED','ENGENEER', 1 row created. ============================================ commit -- SQL >update emp set sal=7000 where ename='AHMED'; 1 row updated. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ,'AHMED','ENGENEER',7839,'01-01-2004',5000,200,10); ===============
  • 35. SQL> update emp 2 set sal = 1000 3 where sal<900; 1 row updated. SQL>commit ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 36. SQL> delete from emp 2 where empno=1111; 1 row deleted. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬
  • 37. SQL> insert into emp 2 values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno); Enter value for empno: 111 Enter value for ename: 'Moh_Suez' Enter value for job: 'DBA' Enter value for mgr: 0 Enter value for hiredate: '01-01-2010 Enter value for sal: 12000 Enter value for comm: 1200 Enter value for deptno: 10 old 2: values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno) new 2: values (111,'Moh_Suez','DBA', 1 row created. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno); Enter value for ename: 'Moh_Suez' 2010' : values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno) ,'Moh_Suez','DBA',0,'01-01-2010',12000,1200,10) values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno); : values (&empno,&ename,&job,&mgr,&hiredate,&sal,&comm,&deptno)
  • 38. SQL> create table department (Id number(7),Name varchar2(25 ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ 25));
  • 39. SQL> create table EMPLOYEE 2 (ID number(7),LAST_NAME varchar number(7)); Table created. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ),LAST_NAME varchar2(25),FIRST_NAME varchar2(2525),DEPT_ID
  • 40. SQL> alter table employee 2 modify ( 3 LAST_NAME varchar Table altered. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ LAST_NAME varchar2(50));
  • 41. SQL> create table employee 2 (ID,LAST_NAME,DEPT_ID) 3 as 4 select empno,ename,deptno 5 from emp; Table created.****** SQL> select* 2 from employee; ID LAST_NAME DEPT_ID ---------- ---------- ---------- 7369 SMITH 20 7499 ALLEN 30 7521 WARD 30 7566 JONES 20 7654 MARTIN 30 7698 BLAKE 30 7782 CLARK 10 7788 SCOTT 20 7839 KING 10 7844 TURNER 30 7876 ADAMS 20 ID LAST_NAME DEPT_ID ---------- ---------- ---------- 7900 JAMES 30 7902 FORD 20 7934 MILLER 10 14 rows selected. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> create table employee as 4 select empno ID,ename LAST_NAME,deptno DEPT_ID 5 from emp; Table created.****** SQL> select * 2 from employee; ID LAST_NAME DEPT_ID ---------- ---------- ---------- 7369 SMITH 20 7499 ALLEN 30 7521 WARD 30 7566 JONES 20 7654 MARTIN 30 7698 BLAKE 30 7782 CLARK 10 7788 SCOTT 20 7839 KING 10 7844 TURNER 30 7876 ADAMS 20 ID LAST_NAME DEPT_ID ---------- ---------- ---------- 7900 JAMES 30 7902 FORD 20 7934 MILLER 10 14 rows selected.
  • 42. SQL> alter table employee2 2 add (FIRST_NAME varchar2(25 Table altered. SQL> drop table employee; Table dropped. SQL> Rename employee2 to employee; Table renamed. SQL> alter table employee drop (last_name); Table altered ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ 25)); to employee;
  • 43. ‫واألخير‬ ‫عشر‬ ‫الحادى‬ ‫الفصل‬ ‫أسئلة‬ SQL> create table DEPARTMENT ( deptno number( varchar2(10),loc varchar2(15)); Table created. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ ‫واألخير‬ ‫عشر‬ ‫الحادى‬ ‫الفصل‬ ‫أسئلة‬ SQL> create table DEPARTMENT ( deptno number(3) primary key,dname) primary key,dname
  • 44. SQL> create table EMPLOYEE(empno number( varchar2(10), 2 constraint emp_pk primary key(empno), 3* constraint emp_uk unique(dname) ) ; Table created. ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ SQL> create table EMPLOYEE(empno number(3) ,ename varchar2(10),dname p_pk primary key(empno), * constraint emp_uk unique(dname) ) ; ),dname
  • 45. SQL> alter table employee add constraint deptno_fk forign key(deptno) references dept(deptno); Table altered. SQL> alter table employee add constraint sal_ck check(sal between Table altered. SQL> select constraint_name,column_name from user_cons_column where table_name='EMPLOYEE'; XXXXXXXXXXXXXXXXXX SQL> select constraint-name,constraint_type from user_constraint where table_name='EMPLOYEE'; CONSTRAINT_NAME C ------------------------------ - PK_EMP P FK_DEPTNO R ‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬‫ﺣـــــــﻞ‬ add constraint deptno_fk forign key(deptno) references dept(deptno); al between 1000 and 5000); SQL> select constraint_name,column_name where table_name='EMPLOYEE'; name,constraint_type where table_name='EMPLOYEE';