0% found this document useful (0 votes)
148 views

SQL Assign

The document contains SQL queries that select data from an EMP table. The queries filter on various criteria like salary ranges, department numbers, and name patterns. Some key queries: 1) Find managers with salary > 1500 2) Select employees with salary between 1200 and 2000 3) Filter on salary of 1600, 800 or 1900 4) Names with 'R' in the second last position 5) Names starting with 'A' and ending with 'N'

Uploaded by

Ruchita Nariya
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
148 views

SQL Assign

The document contains SQL queries that select data from an EMP table. The queries filter on various criteria like salary ranges, department numbers, and name patterns. Some key queries: 1) Find managers with salary > 1500 2) Select employees with salary between 1200 and 2000 3) Filter on salary of 1600, 800 or 1900 4) Names with 'R' in the second last position 5) Names starting with 'A' and ending with 'N'

Uploaded by

Ruchita Nariya
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 35

1.

To find all managers with salary>1500

1 select mgr
2 from emp
3 where sal>1500;

MGR
----------
7698
7839
7839
7839
7566

7566

7 rows selected.
===================================================================================
=================================================================
2.List all employees with sal>1200 and <2000

1 select *
2 from emp
3 where sal>1200 and sal<2000;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30

7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30

7934 MILLER CLERK 7782 23-JAN-82 1300


10

===================================================================================
=================================================================
3.list all employees with sal is 1600 oe sal is 800 or sal is 1900.

1 select *
2 from emp
3 where sal in(1600,800,1900);

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20

7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300


30
===================================================================================
=================================================================
4. list all employees with R at second last position in name.

1 select *
2 from emp
3 where ename like '%R_';

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7521 WARD SALESMAN 7698 22-FEB-81 1250 500
30

7782 CLARK MANAGER 7839 09-JUN-81 2450


10

7902 FORD ANALYST 7566 03-DEC-81 3000


20
===================================================================================
=================================================================
5. list all employees with name starts with A and ends with N.

1 select *
2 from emp
3 where ename like 'A%' and ename like '%N';

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30
===================================================================================
=================================================================

****************Q2.solve following*****************
===================================================================================
=================================================================
1.list all employee with salary>1250 and dept no=30.

1 select *
2 from emp
3 where sal>1250 and deptno=30;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

7844 TURNER SALESMAN 7698 08-SEP-81 1500 0


30
===================================================================================
=================================================================
2.list all employees with sal>=1250 and <=3000.

1 select *
2 from emp
3* where sal between 1250 and 3000;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30

7566 JONES MANAGER 7839 02-APR-81 2975


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400
30

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

7782 CLARK MANAGER 7839 09-JUN-81 2450


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7788 SCOTT ANALYST 7566 09-DEC-82 3000
20

7844 TURNER SALESMAN 7698 08-SEP-81 1500 0


30

7902 FORD ANALYST 7566 03-DEC-81 3000


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7934 MILLER CLERK 7782 23-JAN-82 1300
10

10 rows selected.

===================================================================================
=================================================================
3. list all employees with sal >1250 and <3000.

1 select *
2 from emp
3* where sal >1250 and sal<3000

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7566 JONES MANAGER 7839 02-APR-81 2975


20

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7782 CLARK MANAGER 7839 09-JUN-81 2450
10

7844 TURNER SALESMAN 7698 08-SEP-81 1500 0


30

7934 MILLER CLERK 7782 23-JAN-82 1300


10

6 rows selected.
===================================================================================
=================================================================
4.list all employees with salary either equal to 3000 or 1250 or 1250 or 2500.

select *
2 from emp
3 where sal in (3000,1250,2500);

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7521 WARD SALESMAN 7698 22-FEB-81 1250 500
30

7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400


30

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20
===================================================================================
=================================================================
5.list all employee with name =SMITH.

select *
2 from emp
3 where ename='SMITH';

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20

===================================================================================
=================================================================
6.list all employee with name starting with S.

1 select *
2 from emp
3* where ename like 'S%'

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20
===================================================================================
=================================================================
7. list all employee with name ending with S.

1 select *
2 from emp
3 where ename like '%S';

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-APR-81 2975
20

7876 ADAMS CLERK 7788 12-JAN-83 1100


20

7900 JAMES CLERK 7698 03-DEC-81 950


30
===================================================================================
=================================================================
8.list all employee with name contain I at 2nd position.

1 select *
2 from emp
3* where ename like '%I_'

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400
30
===================================================================================
================================================================
9.list all employee with name starts with A ends with N somwhere in between L is
there.
1 select *
2 from emp
3* where ename like '%A%L%N'

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30
___________________________________________________________________________________
___________________________________________________________________________________
1 select empno,ename
2 from emp
3 where regexp_like(ename,'^A.*L.N$');

EMPNO ENAME
---------- ----------
7499 ALLEN
===================================================================================
=================================================================
11.list all employees with name starts with either A or starts with S or starts
with W.
1 select *
2 from emp
3 where regexp_like(ename,'(^A|^S|^W)');

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20

7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300


30

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7788 SCOTT ANALYST 7566 09-DEC-82 3000
20

7876 ADAMS CLERK 7788 12-JAN-83 1100


20

7369 SMITH CLERK 7902 17-DEC-80 800


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7876 ADAMS CLERK 7788 12-JAN-83 1100
20

10 rows selected.
===================================================================================
=================================================================
10.List all employees with name starts with A and B at 3rd position and P at second
last position.
select *
2 from emp
3 where ename like 'A_BP_';

no rows selected
===================================================================================
=================================================================
12. find max sal and min sal for each job.

1 select job,max(sal),min(sal)
2 from emp
3 group by job;

JOB MAX(SAL) MIN(SAL)


--------- ---------- ----------
CLERK 1300 800
SALESMAN 1600 1250
PRESIDENT 5000 5000
MANAGER 2975 2450
ANALYST 3000 3000
===================================================================================
================================================================
13.find how many employees have not received commission.
1 select *
2 from emp
3 where comm is null;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20

7566 JONES MANAGER 7839 02-APR-81 2975


20

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7782 CLARK MANAGER 7839 09-JUN-81 2450
10

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

7839 KING PRESIDENT 17-NOV-81 5000


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7876 ADAMS CLERK 7788 12-JAN-83 1100
20

7900 JAMES CLERK 7698 03-DEC-81 950


30
7902 FORD ANALYST 7566 03-DEC-81 3000
20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7934 MILLER CLERK 7782 23-JAN-82 1300
10

10 rows selected.
===================================================================================
=================================================================
14.find sum of sal of all employess working in dept no 10.
1 select deptno,sum(sal)
2 from emp
3 group by deptno
4 having deptno=10;

DEPTNO SUM(SAL)
---------- ----------
10 8750
===================================================================================
=================================================================
15. find maximum salary,average sal for each job in every department.
1 select job ,deptno,max(sal),avg(sal)
2 from emp
3* group by job, deptno

JOB DEPTNO MAX(SAL) AVG(SAL)


--------- ---------- ---------- ----------
MANAGER 20 2975 2975
PRESIDENT 10 5000 5000
CLERK 10 1300 1300
SALESMAN 30 1600 1400
ANALYST 20 3000 3000
MANAGER 30 2850 2850
MANAGER 10 2450 2450
CLERK 30 950 950
CLERK 20 1100 950
===================================================================================
=================================================================
16.find max salary for every department if deptno is >15 and arrange data in deptno
order.

select deptno,max(sal)
2 from emp
3 group by deptno
4 having deptno>15
5 order by deptno;

DEPTNO MAX(SAL)
---------- ----------
20 3000
30 2850
===================================================================================
=================================================================
17.find sum salary for every department if sum is>3000.

select deptno,sum(sal)
2 from emp
3 group by deptno
4 having sum(sal)>3000;

DEPTNO SUM(SAL)
---------- ----------
30 9400
20 10875
10 8750

===================================================================================
=================================================================
18. list all department which has minimum 5 employess.

1 select deptno,count(*)
2 from emp
3 group by deptno
4 having count(*)<5;

DEPTNO COUNT(*)
---------- ----------
10 3
===================================================================================
=================================================================
19.count how many employees earn salary more than 2000 in each job.

1 select job,sal,count (*)


2 from emp
3 group by job,sal
4 having sal > 2000

JOB SAL COUNT(*)


--------- ---------- ----------
MANAGER 2450 1
PRESIDENT 5000 1
ANALYST 3000 2
MANAGER 2850 1
MANAGER 2975 1
===================================================================================
=================================================================
20.list all enames and jobs in small case letter.
1 select job,ename,lower(job),lower(ename)
2 from emp;

JOB ENAME LOWER(JOB LOWER(ENAM


--------- ---------- --------- ----------
CLERK SMITH clerk smith
SALESMAN ALLEN salesman allen
SALESMAN WARD salesman ward
MANAGER JONES manager jones
SALESMAN MARTIN salesman martin
MANAGER BLAKE manager blake
MANAGER CLARK manager clark
ANALYST SCOTT analyst scott
PRESIDENT KING president king
SALESMAN TURNER salesman turner
CLERK ADAMS clerk adams

JOB ENAME LOWER(JOB LOWER(ENAM


--------- ---------- --------- ----------
CLERK JAMES clerk james
ANALYST FORD analyst ford
CLERK MILLER clerk miller

14 rows selected.
===================================================================================
=================================================================
21. list all names and jobs so that the length of name should be 15 if it is
samller then add spaces to left.

1 select ename,job,lpad(ename,15, '_')


2* from emp

ENAME JOB
---------- ---------
LPAD(ENAME,15,'_')
------------------------------------------------------------
SMITH CLERK
__________SMITH

ALLEN SALESMAN
__________ALLEN

WARD SALESMAN
___________WARD

ENAME JOB
---------- ---------
LPAD(ENAME,15,'_')
------------------------------------------------------------
JONES MANAGER
__________JONES

MARTIN SALESMAN
_________MARTIN

BLAKE MANAGER
__________BLAKE

ENAME JOB
---------- ---------
LPAD(ENAME,15,'_')
------------------------------------------------------------
CLARK MANAGER
__________CLARK

SCOTT ANALYST
__________SCOTT
KING PRESIDENT
___________KING

ENAME JOB
---------- ---------
LPAD(ENAME,15,'_')
------------------------------------------------------------
TURNER SALESMAN
_________TURNER

ADAMS CLERK
__________ADAMS

JAMES CLERK
__________JAMES

ENAME JOB
---------- ---------
LPAD(ENAME,15,'_')
------------------------------------------------------------
FORD ANALYST
___________FORD

MILLER CLERK
_________MILLER

14 rows selected.
===================================================================================
=================================================================
22. display min sal,max sal ,average sal for all employees woking under same
manager.

1 select mgr,min(sal),max (sal),avg(sal)


2 from emp
3 group by mgr;

MGR MIN(SAL) MAX(SAL) AVG(SAL)


---------- ---------- ---------- ----------
7839 2450 2975 2758.33333
5000 5000 5000
7782 1300 1300 1300
7698 950 1600 1310
7902 800 800 800
7566 3000 3000 3000
7788 1100 1100 1100

7 rows selected.
===================================================================================
=================================================================
23.
1 select sum(sal+nvl(comm,0)),avg(sal+nvl(comm,0))
2 from emp
3* where deptno in(10,20) and sal>2000

SUM(SAL+NVL(COMM,0)) AVG(SAL+NVL(COMM,0))
-------------------- --------------------
16425 3285
===================================================================================
=================================================================
24.list all employees who joined in aug 1980 and salary is >1500 and <2500.

1 select empno,ename,extract(year from hiredate ),extract(month from hiredate)


2 from emp
3 where extract(year from hiredate)='2019' and extract(month from hiredate)='08'
and sal >1500 and sal<2500;

no rows selected
===================================================================================
=================================================================
25. list all employees joined in either aug or may or dec.
1 select empno,ename
2 from emp
3* where to_char(hiredate,'mon') in ('aug', 'dec' ,'may')
SQL> /

EMPNO ENAME
---------- ----------
7369 SMITH
7698 BLAKE
7788 SCOTT
7900 JAMES
7902 FORD
===================================================================================
=================================================================
26.display name and hiredate in dd/mm/yy format for all employees whose job is
clerk and they earn some commission.

1 select ename,to_char(hiredate,'dd/mm/yy')
2 from emp
3 where job='CLERK' and sal is not null;

ENAME TO_CHAR(
---------- --------
SMITH 17/12/80
ADAMS 12/01/83
JAMES 03/12/81
MILLER 23/01/82
===================================================================================
=================================================================
27.list empcode,empno,name and job for each employee.(note:empcode is 3 to 5
characters from name and last 2 characters of job).

1 select empno,ename,job,concat(substr(ename,3,5),substr(job,-2,2))empcode
2 from emp

EMPNO ENAME JOB EMPCODE


---------- ---------- --------- ----------------------------
7369 SMITH CLERK ITHRK
7499 ALLEN SALESMAN LENAN
7521 WARD SALESMAN RDAN
7566 JONES MANAGER NESER
7654 MARTIN SALESMAN RTINAN
7698 BLAKE MANAGER AKEER
7782 CLARK MANAGER ARKER
7788 SCOTT ANALYST OTTST
7839 KING PRESIDENT NGNT
7844 TURNER SALESMAN RNERAN
7876 ADAMS CLERK AMSRK

EMPNO ENAME JOB EMPCODE


---------- ---------- --------- ----------------------------
7900 JAMES CLERK MESRK
7902 FORD ANALYST RDST
7934 MILLER CLERK LLERRK

14 rows selected.
===================================================================================
=================================================================
28.display thousand separator and $ symbol for commission if it is null then
display it as 0 for all employees whose name starts with A ends with N.

1 select ename,empno,comm,case
2 when comm is not null then to_char(comm,'$999,999,999')
3 else '0'
4 end
5 from emp
6* where ename like 'A%N';

ENAME EMPNO COMM CASEWHENCOMMI


---------- ---------- ---------- -------------
ALLEN 7499 300 $300
===================================================================================
=================================================================
29.

1 select empno,ename,sal,comm,case
2 when comm>=600 then 'excellent keep it up'
3 when comm<600 or comm is not null then 'good'
4 else 'need improvement'
5 end
6 from emp;

EMPNO ENAME SAL COMM CASEWHENCOMM>=600THE


---------- ---------- ---------- ---------- --------------------
7369 SMITH 800 need improvement
7499 ALLEN 1600 300 good
7521 WARD 1250 500 good
7566 JONES 2975 need improvement
7654 MARTIN 1250 1400 excellent keep it up
7698 BLAKE 2850 need improvement
7782 CLARK 2450 need improvement
7788 SCOTT 3000 need improvement
7839 KING 5000 need improvement
7844 TURNER 1500 0 good
7876 ADAMS 1100 need improvement

EMPNO ENAME SAL COMM CASEWHENCOMM>=600THE


---------- ---------- ---------- ---------- --------------------
7900 JAMES 950 need improvement
7902 FORD 3000 need improvement
7934 MILLER 1300 need improvement
14 rows selected.
===================================================================================
=================================================================
30.
1 select e.empno,e.ename,e.deptno,d.dname,case
2 when e.deptno=10 then 'HR'
3 when e.deptno=20 then 'admin'
4 when e.deptno=30 then 'accounts'
5 else 'purchase'
6 end
7 from emp e, dept d
8* where e.deptno=d.deptno;

EMPNO ENAME DEPTNO DNAME CASEWHEN


---------- ---------- ---------- -------------- --------
7369 SMITH 20 RESEARCH admin
7499 ALLEN 30 SALES accounts
7521 WARD 30 SALES accounts
7566 JONES 20 RESEARCH admin
7654 MARTIN 30 SALES accounts
7698 BLAKE 30 SALES accounts
7782 CLARK 10 ACCOUNTING HR
7788 SCOTT 20 RESEARCH admin
7839 KING 10 ACCOUNTING HR
7844 TURNER 30 SALES accounts
7876 ADAMS 20 RESEARCH admin

EMPNO ENAME DEPTNO DNAME CASEWHEN


---------- ---------- ---------- -------------- --------
7900 JAMES 30 SALES accounts
7902 FORD 20 RESEARCH admin
7934 MILLER 10 ACCOUNTING HR

14 rows selected.

===================================================================================
=================================================================
31.

select * from myemployee;

EMPNO FNAME MNAME LNAME SAL DOJ


---------- --------------- --------------- --------------- ---------- ---------
PASSPORTNUM DEPTNO
--------------- ----------
1 ruchi nariya dhiraj 12000 12-AUG-20
1111 10

2 hitul patel kishor 12000 14-AUG-20


2222 10

3 tannu patel stendra 15000 17-AUG-20


3333 30
===================================================================================
================================================================
32.
(1)student table
1 create table student(
2 sid number(5) primary key,
3 sname varchar2(10) );

Table created.

SQL> insert into student values(1,'ruchita');

1 row created.

SQL> insert into student values(2,'ash');

1 row created.

SQL> select * from student;

SID SNAME
---------- ----------
1 ruchita
2 ash

(2) course table

insert into course values(1,'dbt');

1 row created.

SQL> insert into course values(2,'dac');

1 row created.

SQL> insert into course values(3,'dbda');

1 row created.

select * from course;

CID CNAME
---------- ----------
1 dbt
2 dac
3 dbda

(3) table marks

create table marks(


stuid number,
courseid number,
marks number,
constraint pk primary key (stuid,courseid),
constraint fk_sid foreign key (stuid) references student(sid) on delete set
null,
constraint fk_cid foreign key (courseid) references course(cid))
insert into marks values(1,1,99);

1 row created.

SQL> insert into marks values(1,3,98);

1 row created.

SQL> insert into marks values(2,1,95);

1 row created.

SQL> insert into marks values(2,2,97);

1 row created.

select * from marks;

STUID COURSEID MARKS


---------- ---------- ----------
1 1 99
1 3 98
2 1 95
2 2 97
===================================================================================
=================================================================
33.

1 create table emp10 as


2 (select *
3 from emp
4 where 1=2
5 );

Table created.

select * from emp10;

no rows selected

===================================================================================
=================================================================
34.

(1)alter table emp add constraints pk_emp primary key(empno);

Table altered.

(2)alter table dept add constraints pk_dept primary key(deptno);

Table altered.

(3) alter table salgrade add constraint pk_gr primary key(grade);

Table altered.

(4) 1 alter table emp


2 add constraint fk_emp foreign key (deptno)
3 references dept(deptno)

Table altered.

(5) 1 alter table emp


2 add netsal number(5) default 1000;

Table altered.
===================================================================================
=================================================================
35.

update emp
2 set sal=sal+(sal*0.15)+nvl(comm,0),
3 job='MANAGER',mgr=7777
4 where deptno=10;

3 rows updated.

select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800
20 1000

7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300


30 1000

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30 1000

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7566 JONES MANAGER 7839 02-APR-81 2975
20 1000

7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400


30 1000

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30 1000

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7782 CLARK MANAGER 7777 09-JUN-81 2817.5
10 1000

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20 1000

7839 KING MANAGER 7777 17-NOV-81 5750


10 1000

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30 1000

7876 ADAMS CLERK 7788 12-JAN-83 1100


20 1000

7900 JAMES CLERK 7698 03-DEC-81 950


30 1000

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20 1000

7934 MILLER MANAGER 7777 23-JAN-82 1495


10 1000

14 rows selected.
===================================================================================
=================================================================
36.
1 update emp
2 set job= 'Sr.CLERK'
3* where ename='SMITH'

1 row updated.

JOB ENAME
--------- ----------
Sr.CLERK SMITH

===================================================================================
=================================================================
37.increase salary of all employees by 15% if they are earning some commision.

1 select empno,ename,sal ,comm,sal+(sal*0.15)


2 from emp
3 where comm is not null;

EMPNO ENAME SAL COMM SAL+(SAL*0.15)


---------- ---------- ---------- ---------- --------------
7499 ALLEN 1600 300 1840
7521 WARD 1250 500 1437.5
7654 MARTIN 1250 1400 1437.5
7844 TURNER 1500 0 1725
===================================================================================
================================================================
38. list all employees with sal>smith salary.

1 select empno,ename,sal
2 from emp
3 where sal>(select sal
4 from emp
5 where ename='SMITH');

EMPNO ENAME SAL


---------- ---------- ----------
7499 ALLEN 1600
7521 WARD 1250
7566 JONES 2975
7654 MARTIN 1250
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500
7876 ADAMS 1100
7900 JAMES 950

EMPNO ENAME SAL


---------- ---------- ----------
7902 FORD 3000
7934 MILLER 1300

13 rows selected.
===================================================================================
================================================================
39.list all employees who are working in smith's department.

1 select empno,ename,deptno
2 from emp
3 where deptno=(select deptno
4 from emp
5 where ename='SMITH');

EMPNO ENAME DEPTNO


---------- ---------- ----------
7369 SMITH 20
7566 JONES 20
7788 SCOTT 20
7876 ADAMS 20
7902 FORD 20
===================================================================================
=================================================================
40.list all employees with sal< rajan's sal and salry>'revati' salary.
1 select *
2 from emp
3 where sal<(select sal
4 from emp
5 where ename='RAJAN')
6 and sal>(select sal
7 from emp
8 where ename='REVATI');

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-APR-81 2975
20

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

7782 CLARK MANAGER 7839 09-JUN-81 2450


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7788 SCOTT ANALYST 7566 09-DEC-82 3000
20

7902 FORD ANALYST 7566 03-DEC-81 3000


20

===================================================================================
=================================================================
41.

1 delete from emp


2 where deptno=(select
3 deptno from emp
4 where ename='ALLEN');

6 rows deleted.

select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7369 SMITH Sr.CLERK 7902 17-DEC-80 800
20 1000

7566 JONES MANAGER 7839 02-APR-81 2975


20 1000

7782 CLARK MANAGER 7777 09-JUN-81 2817.5


10 1000

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7788 SCOTT ANALYST 7566 09-DEC-82 3000
20 1000

7839 KING MANAGER 7777 17-NOV-81 5750


10 1000

7876 ADAMS CLERK 7788 12-JAN-83 1100


20 1000

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO NETSAL
---------- ----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20 1000

7934 MILLER MANAGER 7777 23-JAN-82 1495


10 1000

8 rows selected.
===================================================================================
=================================================================
42.

1 update emp
2 set sal=(select sal
3 from emp where ename='MILLER')
4* where ename='ALLEN'

1 row updated.

1 select sal
2 from emp where ename='ALLEN';

SAL
----------
1300
===================================================================================
=================================================================
43.

update emp
set sal = (select sal
from emp
where ename='MILLER')
where deptno=(select deptno
from emp
where ename='WARD');

6 rows updated.

SQL> select * from emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20

7499 ALLEN SALESMAN 7698 20-FEB-81 1300 300


30

7521 WARD SALESMAN 7698 22-FEB-81 1300 500


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-APR-81 2975
20

7654 MARTIN SALESMAN 7698 28-SEP-81 1300 1400


30

7698 BLAKE MANAGER 7839 01-MAY-81 1300


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7782 CLARK MANAGER 7839 09-JUN-81 2450
10

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

7839 KING PRESIDENT 17-NOV-81 5000


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1300 0
30

7876 ADAMS CLERK 7788 12-JAN-83 1100


20

7900 JAMES CLERK 7698 03-DEC-81 1300


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20
7934 MILLER CLERK 7782 23-JAN-82 1300
10

14 rows selected.

===================================================================================
=================================================================
44. list all employees with salary >either smith's salary or alllen' s sal.
1 select *
2 from emp
3 where sal>(select sal
4 from emp
5 where ename='SMITH')
6 or sal>(select sal
7 from emp
8 where ename='ALLEN')

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30

7566 JONES MANAGER 7839 02-APR-81 2975


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400
30

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

7782 CLARK MANAGER 7839 09-JUN-81 2450


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7788 SCOTT ANALYST 7566 09-DEC-82 3000
20

7839 KING PRESIDENT 17-NOV-81 5000


10
7844 TURNER SALESMAN 7698 08-SEP-81 1500
0
30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7876 ADAMS CLERK 7788 12-JAN-83 1100
20

7900 JAMES CLERK 7698 03-DEC-81 950


30

7902 FORD ANALYST 7566 03-DEC-81 3000


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7934 MILLER CLERK 7782 23-JAN-82 1300
10

13 rows selected.
===================================================================================
=================================================================
45. list all employees who earn more than average sal of dept 10.

1 select *
2 from emp
3 where sal>(select avg(sal)
4 from emp
5 where deptno=10);

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-APR-81 2975
20

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

7839 KING PRESIDENT 17-NOV-81 5000


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20
===================================================================================
=================================================================
46.list all employees who earn more than average salry of allen's departmet

1 select *
2 from emp
3 where sal>(select avg(sal)
4 from emp where deptno=(select deptno
5 from emp
6 where ename='ALLEN'));

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7566 JONES MANAGER 7839 02-APR-81 2975


20

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7782 CLARK MANAGER 7839 09-JUN-81 2450
10

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

7839 KING PRESIDENT 17-NOV-81 5000


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20
===================================================================================
=================================================================
48.list all employees who earn more than avg sal of their own department.

1 select *
2 from emp e
3 where sal>(select avg(sal)
4 from emp m
5 where e.deptno=m.deptno);

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7566 JONES MANAGER 7839 02-APR-81 2975


20

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7788 SCOTT ANALYST 7566 09-DEC-82 3000
20

7839 KING PRESIDENT 17-NOV-81 5000


10

7902 FORD ANALYST 7566 03-DEC-81 3000


20

6 rows selected.
===================================================================================
=================================================================
49.
1 select * from emp e
2 where e.sal<(select m.sal from emp m where e.mgr=m.empno)

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO CREDIT_LIMIT
---------- ------------
7369 SMITH CLERK 7902 17-DEC-80 800
20

7566 JONES MANAGER 7839 02-APR-81 2975


20

7782 CLARK MANAGER 7839 09-JUN-81 2450


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO CREDIT_LIMIT
---------- ------------
7876 ADAMS CLERK 7788 12-JAN-83 1100
20

7934 MILLER CLERK 7782 23-JAN-82 1300


10
===================================================================================
=================================================================
47. list all employees name working in purchase department.

1 select e.ename,d.dname
2 from emp e,dept d
3 where e.deptno=d.deptno and d.dname='purchase';

ENAME DNAME
---------- --------------
ADAMS purchase
===================================================================================
=================================================================
50. list all employees who are earning more than avg salry of their job.

1 select *
2 from emp e
3 where sal>(select avg(sal)
4 from emp m
5 where e.job=m.job);

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30

7566 JONES MANAGER 7839 02-APR-81 2975


20

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30

7876 ADAMS CLERK 7788 12-JAN-83 1100


20

7934 MILLER CLERK 7782 23-JAN-82 1300


10

6 rows selected.
===================================================================================
=================================================================
51. display emp name and department name.

1 select e.deptno,e.ename,d.deptno,d.dname
2 from emp e,dept d
3 where e.deptno=d.deptno

DEPTNO ENAME DEPTNO DNAME


---------- ---------- ---------- --------------
20 SMITH 20 RESEARCH
30 ALLEN 30 SALES
30 WARD 30 SALES
20 JONES 20 RESEARCH
30 MARTIN 30 SALES
30 BLAKE 30 SALES
10 CLARK 10 ACCOUNTING
20 SCOTT 20 RESEARCH
10 KING 10 ACCOUNTING
30 TURNER 30 SALES
20 ADAMS 20 RESEARCH

DEPTNO ENAME DEPTNO DNAME


---------- ---------- ---------- --------------
30 JAMES 30 SALES
20 FORD 20 RESEARCH
10 MILLER 10 ACCOUNTING

14 rows selected.
===================================================================================
=================================================================
52. display empno,ename,department name and grade(use emp,dept and salgrade table).

1 select e.empno,e.ename,d.dname,s.grade
2 from emp e inner join salgrade s
3 on sal between s.losal and s.hisal inner join dept d
4 on e.deptno=d.deptno;

EMPNO ENAME DNAME GRADE


---------- ---------- -------------- ----------
7369 SMITH RESEARCH 1
7499 ALLEN SALES 3
7521 WARD SALES 2
7566 JONES RESEARCH 4
7654 MARTIN SALES 2
7698 BLAKE SALES 4
7782 CLARK ACCOUNTING 4
7788 SCOTT RESEARCH 4
7839 KING ACCOUNTING 5
7844 TURNER SALES 3
7876 ADAMS RESEARCH 1

EMPNO ENAME DNAME GRADE


---------- ---------- -------------- ----------
7900 JAMES SALES 1
7902 FORD RESEARCH 4
7934 MILLER ACCOUNTING 2

14 rows selected.
===================================================================================
=================================================================
53.

1 select e.empno,e.ename,e.mgr,p.ename
2 from emp e full outer join emp p
3 on e.mgr=p.mgr;

EMPNO ENAME MGR ENAME


---------- ---------- ---------- ----------
7369 SMITH 7902 SMITH
7782 CLARK 7839 JONES
7566 JONES 7839 JONES
7782 CLARK 7839 CLARK
7566 JONES 7839 CLARK
7902 FORD 7566 SCOTT
7788 SCOTT 7566 SCOTT
KING
7876 ADAMS 7788 ADAMS
7902 FORD 7566 FORD
7788 SCOTT 7566 FORD

EMPNO ENAME MGR ENAME


---------- ---------- ---------- ----------
7934 MILLER 7782 MILLER
7839 KING

13 rows selected.

===================================================================================
===============================================================
54.

1)1 select p.pname,c.cname,s.sname


2 from ((product p full outer join category c
3 on p.catid=c.catid )full outer join salesman s
4* on p.sid=s.sid)

PNAME CNAME SNAME


-------------------- -------------------- --------------------
lays chips
pepsi cold drimks rahul
nachos chips
dairymilk chocolate arnav
pringles chips arnav
snacks
prasad
kirti

2)1 select p.pname ,s.sname,s.city


2 from product p,salesman s
3 where p.sid=s.sid and s.city='pune';

PNAME SNAME CITY


-------------------- -------------------- --------------------
pepsi rahul pune

3)1 select p.pname ,c.cname


2 from product p full outer join category c
3 on p.catid=c.catid;

PNAME CNAME
-------------------- --------------------
lays chips
pepsi cold drimks
nachos chips
dairymilk chocolate
pringles chips
snacks

6 rows selected.
===================================================================================
===============================================================
55.

1) faculty table

1 create table faculty(


2 fid number(5) primary key,
3 fname varchar2(20),
4 spskill1 varchar2(50),
5* spskill2 varchar2(50))

Table created.

FID FNAME S S
---------- -------------------- - -
10 ruchita DBDA DAC
11 prajkta DAC DTIIS
12 ash DBDA DIOT
13 payal DBDA DAC

2) courses table

1 create table courses(cid number(5) primary key,


2 cname varchar2(50),
3 rid number(5) references room(rid),
4 fid number(5) references faculty(fid));
CID CNAME RID FID
---------- -------------------------------------------------- ---------- ----------
121 DBDA 100 10
131 DAC 101
141 DTISS
151 DIOT 105 12

3) room table

1 create table room(rid number(5) primary key,


2 rname varchar2(50),
3 rloc varchar2(50));

RID RNAME RLOC


---------- --------------------------------------------------
--------------------------------------------------
100 jasmin 1st_floor
101 rose 2nd_floor
105 lotus 1st_floor
103 mogra 1st_floor

subquestions:-
1) select c.cid,c.cname,r.rid,r.rname
2 from courses c full outer join room r
3 on c.rid=r.rid
4 where(c.cid is null ) or (r.rid is null) ;

2)1 select f.fid,f.fname,r.rid,r.rname


2 from faculty f full outer join courses c
3 on f.fid=c.fid full outer join room r on c.rid=r.rid
4 where ( r.rid is null) or (c.cid is null);

3) 1 select c.cid,c.rid,c.cname,r.rname,r.rid
2 from courses c full outer join room r
3 on c.rid=r.rid;

4) select r.rid,r.rname,c.cid,c.cname
2 from room r full outer join courses c
3 on c.rid=r.rid
4 where r.rid is null;

5)select f.fid,f.fname,c.cid,c.cname
from faculty f full outer join courses c
on f.fid=c.fid
where f.spskill1 ='DBDA' or f.spskill2='DBDA';

6)
1 select f.fid,f.fname,c.cid,c.cname,r.rid,r.rname
2 from faculty f inner join courses c on f.fid=c.fid inner join room r
3 on c.rid=r.rid

FID FNAME CID CNAME


RID RNAME
---------- -------------------- ----------
-------------------------------------------------- ----------

10 ruchita 121 DBDA


100 jasmin

12 ash 151 DIOT


105 lotus
===================================================================================
=================================================================
56.

(1)product table

1 create table product(prodid number(5),


2 pname varchar2(20) primary key,
3 qty number(5) check(qty>0),
4 price number(7,2),
5 catid number(5),
6* sid number(5));

Table created.

PRODID PNAME QTY PRICE CATID SID


---------- -------------------- ---------- ---------- ---------- ----------
123 lays 30 30 1 12
111 pepsi 40 50 4 11
134 nachos 50 50 1 12
124 dairymilk 40 60 2 14
124 pringles 40 60 1 14

(2)

salesman table

1 create table salesman(sid number(5),


2 sname varchar(20) not null,
3* city varchar(20));

SID SNAME CITY


---------- -------------------- --------------------
11 rahul pune
12 kirti mumbai
13 prasad nashik
14 arnav amaravati

(3) category table

category table

1 create table category(


2 catid number(5) primary key,
3 cname varchar2(20),
4 description varchar2(50))

Table created.
CATID CNAME
---------- --------------------
DESCRIPTION
--------------------------------------------------
1 chips
very crunchy

2 chocolate
very chocolaty

3 snacks
yummy

CATID CNAME
---------- --------------------
DESCRIPTION
--------------------------------------------------
4 cold drimks
thanda thnnda cool cool

1)1 select p.pname,c.cname


2 from product p inner join category c
3* on p.catid=c.catid and c.cname='chips'

PNAME CNAME
-------------------- --------------------
lays chips
nachos chips
pringles chips

2) select p.pname,s.sname
2 from product p inner join salesman s
3 on p.sid=s.sid and s.sname='kirti';

PNAME SNAME
-------------------- --------------------
lays kirti
nachos kirti

3)1 select s.sname


2 from salesman s
3 where not exists(select *
4 from product p
5 where p.sid=s.sid);

SNAME
--------------------
prasad
kirti

4)
1 select c.cname
2 from category c
3 where not exists(select *
4 from product p
5 where p.catid=c.catid);

CNAME
--------------------
snacks

5)1 select *
2 from product where catid is null

no rows selected.

6)1 select sname,city


2 from salesman
3* where city like 'p%' or city like 'n%';

SNAME CITY
-------------------- --------------------
rahul pune
prasad nashik

7)alter table salesman


2 add credit_limit number(8);

Table altered.

desc salesman;

Name Null? Type


----------------------------------------- -------- ----------------------------
SID NUMBER(5)
SNAME NOT NULL VARCHAR2(20)
CITY VARCHAR2(20)
CREDIT_LIMIT NUMBER(8)

You might also like