You are on page 1of 5

-------------sub

queries-------------------
sql> select max(salary) from employees;

max(salary)
-----------
24000

sql> select * from emp where salary=(select max(salary) from employees);


select * from emp where salary=(select max(salary) from employees)
*
error at line 1:
ora-00942: table or view does not exist

sql> ed
wrote file afiedt.buf

1* select * from employees where salary=(select max(salary) from employees)


sql> /

employee_id first_name last_name


----------- -------------------- -------------------------
email phone_number hire_date job_id salary
------------------------- -------------------- --------- ---------- ----------
commission_pct manager_id department_id
-------------- ---------- -------------
100 steven king
sking 515.123.4567 17-jun-87 ad_pres 24000
90

sql> select a.first_name,b.department_name from employees a,departments b where


a.salary=(select max
(salary) from employees);

first_name department_name
-------------------- ------------------------------
steven administration
steven marketing
steven purchasing
steven human resources
steven shipping
steven it
steven public relations
steven sales
steven executive
steven finance
steven accounting

first_name department_name
-------------------- ------------------------------
steven treasury
steven corporate tax
steven control and credit
steven shareholder services
steven benefits
steven manufacturing
steven construction
steven contracting
steven operations
steven it support
steven noc

first_name department_name
-------------------- ------------------------------
steven it helpdesk
steven government sales
steven retail sales
steven recruiting
steven payroll

27 rows selected.

sql> ed
wrote file afiedt.buf

1* select a.first_name,b.department_name from employees a,departments b where


a.salary=(select max
sql> /

first_name department_name
-------------------- ------------------------------
steven executive

sql>
sql> ed
wrote file afiedt.buf

1 select a.first_name,b.department_name from employees a,departments b--------wat tables 2


conn-------------
2 where a.salary=(select max(salary) from employees)---------------wat condition------------------
3* and a.department_id=b.department_id-----------this s the link---------
sql> /

first_name department_name
-------------------- ------------------------------
steven executive

------------------any,all
operators--------------------------------
sql> select * from emp where sal in (select sal from emp where deptno=10);

empno ename job mgr hiredate sal comm deptno


---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7934 miller clerk 7782 23-jan-82 1300 10
7782 clark manager 7839 09-jun-81 2450 10
7839 king president 17-nov-81 5000 10

sql> select * from emp where sal=1300 or sal=5000;

empno ename job mgr hiredate sal comm deptno


---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7839 king president 17-nov-81 5000 10
7934 miller clerk 7782 23-jan-82 1300 10

sql> select * from emp where sal >any (select sal from emp where deptno=10);

empno ename job mgr hiredate sal comm deptno


---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7839 king president 17-nov-81 5000 10
7698 blake manager 7839 01-may-81 2850 30
7782 clark manager 7839 09-jun-81 2450 10
7566 jones manager 7839 02-apr-81 2975 20
7499 allen salesman 7698 20-feb-81 1600 300 30
7844 turner salesman 7698 08-sep-81 1500 0 30
7902 ford analyst 7566 03-dec-81 3000 20
7788 scott analyst 7566 09-dec-82 3000 20

8 rows selected.
sql> select * from emp where sal >all (select sal from emp where deptno=10);

no rows selected

sql> select * from emp where sal =any (select sal from emp where deptno=10);

empno ename job mgr hiredate sal comm deptno


---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7934 miller clerk 7782 23-jan-82 1300 10
7782 clark manager 7839 09-jun-81 2450 10
7839 king president 17-nov-81 5000 10

sql> select * from emp where sal =all (select sal from emp where deptno=10);\
2
sql> select * from emp where sal =all (select sal from emp where deptno=10)
2
sql> /

no rows selected

1.------------------->any=>min------------------------greater the min values of


deptno=10----------
sql> select * from emp where sal >any(select sal from emp where deptno=10);
empno ename job mgr hiredate sal comm deptno
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7839 king president 17-nov-81 5000 10
7698 blake manager 7839 01-may-81 2850 30
7782 clark manager 7839 09-jun-81 2450 10
7566 jones manager 7839 02-apr-81 2975 20
7499 allen salesman 7698 20-feb-81 1600 300 30
7844 turner salesman 7698 08-sep-81 1500 0 30
7902 ford analyst 7566 03-dec-81 3000 20
7788 scott analyst 7566 09-dec-82 3000 20

8 rows selected.

2.----------------->all=>max----------------------greater than max value of


deptno=10------------

sql> select * from emp where sal >all(select sal from emp where deptno=10);

no rows selected

3.-----------------<any=<max----------------------less than max value of


deptno=10---------------

sql> select * from emp where sal <any(select sal from emp where deptno=10);

empno ename job mgr hiredate sal comm deptno


---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7698 blake manager 7839 01-may-81 2850 30
7782 clark manager 7839 09-jun-81 2450 10
7566 jones manager 7839 02-apr-81 2975 20
7654 martin salesman 7698 28-sep-81 1250 1400 30
7499 allen salesman 7698 20-feb-81 1600 300 30
7844 turner salesman 7698 08-sep-81 1500 0 30
7900 james clerk 7698 03-dec-81 950 30
7521 ward salesman 7698 22-feb-81 1250 500 30
7902 ford analyst 7566 03-dec-81 3000 20
7369 smith clerk 7902 17-dec-80 800 20
7788 scott analyst 7566 09-dec-82 3000 20
7876 adams clerk 7788 12-jan-83 1100 20
7934 miller clerk 7782 23-jan-82 1300 10

13 rows selected.

4.---------------<all=<min--------------------------less than min value of


deptno=10--------------

sql> select * from emp where sal <all(select sal from emp where deptno=10);

empno ename job mgr hiredate sal comm deptno


---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7654 martin salesman 7698 28-sep-81 1250 1400
30
7900 james clerk 7698 03-dec-81 950 30
7521 ward salesman 7698 22-feb-81 1250 500
30
7369 smith clerk 7902 17-dec-80 800 20
7876 adams clerk 7788 12-jan-83 1100 20

5.---------------------=any = in------------------------shows the values of


deptno=10-----------------
sql> select * from emp where sal in(select sal from emp where deptno=10);

empno ename job mgr hiredate sal comm deptno


---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7934 miller clerk 7782 23-jan-82 1300 10
7782 clark manager 7839 09-jun-81 2450 10
7839 king president 17-nov-81 5000 10

You might also like