Professional Documents
Culture Documents
A) A Select Statement With in Another Select Statement Is Called A Sub-Query
A) A Select Statement With in Another Select Statement Is Called A Sub-Query
=========SUBQUERIES===========
-- SUBQUERY
-- CORRELATED SUBQUERY
-- SINGLE COLUMN SINGLE ROW SUBQUERY --->MAIN QUERY CHECKING FOR
SINGLE COLUMN AND SUBQUERY RETURNS A SINGLE ROW
-- SINGLE COLUMN
MULTIPLE ROWS.
OR
SELECT * FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM EMP WHERE
ENAME IN ('TURNER','SMITH'))
AND
JOB IN (SELECT JOB FROM EMP WHERE ENAME IN ('TURNER','SMITH')); -->NON
PAIRWISE.
--------------------------------------------------------------------------EXAMPLE OF SUBQUERY:
SELECT * FROM EMP WHERE SAL = (SELECT MAX(SAL) FROM EMP);
EXAMPLE OF CORRELATED SUBQUERY:
SELECT * FROM EMP M WHERE SAL=(SELECT MAX(SAL) FROM EMP S WHERE
S.DEPTNO=M.DEPTNO);
EMPNO
ENAME
JOB
MGR HIREDATE
SAL COMMDEPTNO
7698 BLAKEMANAGER 7839 5/1/1981
2850
30
7788 SCOTT
ANALYST
7566 12/9/1982 3000
20
7839 KING PRESIDENT 11/17/1981 5000
10
7902 FORD ANALYST
7566 12/3/1981 3000
20
--------------------------------------------------------------------------------------SELECT * FROM EMP;
EMPNO
ENAME
JOB
MGR HIREDATE
SAL COMMDEPTNO
7369 SMITH CLERK 790212/17/1980 800
20
7499 ALLENSALESMAN 7698 2/20/1981 1600 300 30
7521 WARD SALESMAN 7698 2/22/1981 1250 500 30
7566 JONES MANAGER
78394/2/1981
2975
20
7654 MARTIN
SALESMAN 7698 9/28/1981 1250 1400 30
7698 BLAKEMANAGER
78395/1/1981
2850
30
7782 CLARK
MANAGER
78396/9/1981
2450
10
7788 SCOTT
ANALYST
756612/9/1982 3000
20
7839 KING PRESIDENT 11/17/1981 5000
10
7844 TURNER
SALESMAN 7698 9/8/1981
1500 0
30
7876 ADAMS
CLERK 77881/12/1983 1100
20
7900 JAMES CLERK 769812/3/1981 950
30
7902 FORD ANALYST
756612/3/1981 3000
20
7934 MILLER
CLERK 77821/23/1982 1300
10
---------------------------------------------------------------------------------------INLINE VIEWS: IF THE TABLE NAME IS REPLACE BY A SELECT STATEMENT THEN IT
IS CALLED AS THE INLINE VIEWS.
SYNTAX: SELECT ......FROM (SELECT .......FROM (SELECT .........FROM ));
EXAMPLE 1: SELECT EMPNO,ENAME,DNO FROM (SELECT
EMPNO,ENAME,SAL,DEPTNO AS DNO FROM EMP) WHERE DNO=20;
EXAMPLE 2: SELECT * FROM (SELECT ROWNUM AS R1,EMPNO,ENAME,SAL,DEPTNO
FROM EMP) WHERE R1=5;
-----------------------------------------------------------------------------------------EXISTS/NOTEXISTS OPERATOR EXAMPLES:
-- SELECT * FROM EMP OUTER WHERE EXISTS (SELECT * FROM EMP WHERE
MGR=OUTER.EMPNO);
-- SELECT * FROM EMP OUTER WHERE NOT EXISTS (SELECT * FROM EMP WHERE
MGR=OUTER.EMPNO);
-------------------------------------------------------------------------------------------CORRELATED INSERT AND DELETE EXAMPLE: