SQLDAY 13
SQLDAY 13
Example :
Emp
EID ENAME SAL DEPTNO
1 ALLEN 1000 20 DEPT
2 BLAKE 2000 10 DEPTNO DNAME LOC
3 CLARK 3000 30 10 D1 L1
4 MILLER 1500 10 20 D2 L2
5 SMITH 2500 10 30 D3 L3
SELECT DNAME
20
FROM DEPT
WHERE DEPTNO = ( SELECT DEPTNO
FROM EMP
WHERE ENAME = 'ALLEN' ) ;
2000
1500
SELECT ENAME , SAL
FROM EMP 2500
WHERE SAL > ( SELECT SAL
FROM EMP
WHERE DEPTNO = 10 ) ;
1. ALL :
"It is special Op used along with a relational Op ( > , < , > = , <= )
to compare the values present at the RHS ".
ALL Op returns true if all the values at the RHS have satisfied
the condition .
Example :
2000
2. ANY :
"It is special Op used along with a relational Op ( > , < , > = , <= )
to compare the values present at the RHS ".
• ANY Op returns true if one of the values at the RHS have
satisfied the condition .
SELECT ENAME
FROM EMP
WHERE SAL < ALL ( SELECT SAL
SELECT ENAME
FROM EMP
WHERE SAL < ANY ( SELECT SAL
FROM EMP
WHERE JOB ='SALESMAN' ) ;
SELECT ENAME
FROM EMP
WHERE SAL > ALL ( SELECT SAL
FROM EMP
WHERE ENAME ='ADAMS' ) ;
INSTAGRAM - ( ro_sql_helpmate )
" A sub query written inside a sub query is known as Nested Subquery "
SAL
WE CAN NEST ABOUT 255 SUB QUERIES
1000
SELECT MIN(SAL )
SELECT DNAME
FROM DEPT
WHERE DEPTNO = ( SELECT DEPTNO
FROM EMP
WHERE SAL = (SELECT MIN( SAL )
FROM EMP
WHERE SAL > ( SELECT MIN( SAL )
FROM EMP ) ) );
REMEMBER :
CASE 1 :
SELECT ENAME
FROM EMP
WHERE EID = ( SELECT MGR
FROM EMP
WHERE ENAME ='SMITH' ) ;
SELECT ENAME
FROM EMP
WHERE EID = ( SELECT MGR
FROM EMP
WHERE EID = ( SELECT MGR
FROM EMP
SELECT DNAME
FROM DEPT
WHERE DEPTNO = ( SELECT DEPTNO
FROM EMP
WHERE EID = ( SELECT MGR
FROM EMP
WHERE ENAME ='KING' ) ) ;
SELECT LOC
FROM DEPT
WHERE DEPTNO = ( SELECT DEPTNO
FROM EMP
WHERE EID = ( SELECT MGR
FROM EMP
WHERE EID = ( SELECT MGR
FROM EMP
WHERE ENAME ='ADAMS' ) ) ) ;
CASE -2
SELECT ENAME
FROM EMP
WHERE MGR = ( SELECT EID
FROM EMP
WHERE ENAME ='KING' ) ;
SELECT DNAME
FROM DEPT
WHERE DEPTNO = ( SELECT DEPTNO
SELECT *
FROM DEPT
WHERE DEPTNO = ( SELECT DEPTNO
FROM EMP
WHERE MGR = ( SELECT EID
FROM EMP
WHERE ENAME ='MILLER' ));
SUB QUERY :
OR
SELECT ENAME
FROM EMP
WHERE MGR =( SELECT MGR
FROM EMP
WHERE ENAME ='BLAKE' );
JOINS
Types of JOINS .
EMP DEPT
ENAME DEPTNO DNAME DEPTNO
A 20 D1 10
B 30 D2 20
Result Table :
SYNTAX:
2. Oracle
SELECT Column_Name
FROM Table_Name1 , Table_Name2 ;
Example :
2. INNER JOIN :
EMP DEPT
ENAME DEPTNO DNAME DEPTNO
A 20 D1 10
B 30 D2 20
C 10 D3 30
Result Table :
SYNTAX:
1. ANSI [ American National Standard Institute ] SELECT Column_Name
FROM Table_Name1 INNER JOIN Table_Name2
ON < JOIN_CONDITION> ;
SELECT *
FROM EMP INNER JOIN DEPT
ON EMP.DEPTNO = DEPT.DEPTNO ;
2. Oracle
SELECT Column_Name
FROM Table_Name1 , Table_Name2 WHERE <JOIN_CONDITION > ;
SELECT *
FROM EMP , DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO ;
Answers :