0% found this document useful (0 votes)
15 views15 pages

New Text Document

The document provides a comprehensive overview of SQL query syntax, including the use of SELECT, DISTINCT, WHERE, GROUP BY, HAVING, and ORDER BY clauses. It includes examples of various SQL queries for retrieving employee data, filtering results, and using subqueries for complex conditions. Additionally, it explains the concepts of single row and multi-row subqueries, as well as employee-manager relationships within a database context.

Uploaded by

Ayush Kashyap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views15 pages

New Text Document

The document provides a comprehensive overview of SQL query syntax, including the use of SELECT, DISTINCT, WHERE, GROUP BY, HAVING, and ORDER BY clauses. It includes examples of various SQL queries for retrieving employee data, filtering results, and using subqueries for complex conditions. Additionally, it explains the concepts of single row and multi-row subqueries, as well as employee-manager relationships within a database context.

Uploaded by

Ayush Kashyap
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 15

PROJECTION

SELECT */DISTINCT COL-NAME/EXPRESSION ALIAS


FROM TABLE NAME;

DISTINCT-It is used to remove duplicates values from result table;


-Always use distinct as first argument
Eg- SELECT DISTINCT SAL,DEPT_NO FROM EMP;

Expression- Eg:SELECT SAL*12 FROM EMP;//Annual Salary


Eg:SELECT SAL*12 + SAL*12*0.25 FROM EMP;//Annual Salary with 25%
hike

Alias:To give column name


Eg:SELECT SAL*12 AS ANNUAL FROM EMP;//Annual Salary
SELECT SAL*12 AS ANNUALSAL FROM EMP
//If you have to give space use double quotes(it is the only place we use
double quotes)
SELECT SAL*12 AS "ANNUAL SAL" FROM EMP;

SELECT FIRST_NAME||','||LAST_NAME AS NAME,SALARY*12 FROM EMPLOYEES;


SELECT FIRST_NAME||','||LAST_NAME,JOB_ID,SALARY*6 FROM EMPLOYEES;
SELECT EMPLOYEES.*,SALARY*12+2000 FROM EMPLOYEES;
SELECT FIRST_NAME||','||LAST_NAME AS NAME,SALARY,SALARY*12+SALARY*12*0.1 AS
HIKE_Sal FROM EMPLOYEES;
SELECT FIRST_NAME||','||LAST_NAME AS NAME,SALARY*12-SALARY*12*0.25 AS DEDUCTION
SALARY FROM EMPLOYEES;
SELECT FIRST_NAME||','||LAST_NAME AS NAMEE,SALARY,SALARY+50 AS "HIKE SALARY" FROM
EMPLOYEES;
SELECT NAME,SALARY+COMM FROM EMPLOYEES;
SELECT *,SAL*12 FROM EMPLOYEES;
SELECT NAME,DESIGNATION,SALARY-100 AS Penalty_Sal AS EMPLOYEES;

WHERE

SELECT */DISTINCT COL-NAME/EXPRESSION ALIAS


FROM TABLE NAME;
WHERE <FILTER CONDITION>;

Eg-SELECT * FROM EMP WHERE HIREDATE> '11-JAN-1983';


SELECT * FROM EMP WHERE HIREDATE> '31-DEC-1981';//Employees hiredate after
1981

SELECT SALARY*12 FROM EMPLOYEES WHERE FIRST_NAME='SMITH'|| LAST_NAME='SMITH';


SELECT FIRST_NAME||'.'||LAST_NAME AS NAME FROM EMPLOYEES WHERE JOB_ID='CLERK';
SELECT SALARY AS NAME FROM EMPLOYEES WHERE JOB_ID='SALESMAN';
SELECT * FROM EMPLOYEES WHERE SALARY>2000;
SELECT * FROM EMPLOYEES WHERE FIRST_NAME='JONES'|| LAST_NAME='JONES';
SELECT * FROM EMPLOYEES WHERE HIREDATE> '01-JAN-1981';
SELECT FIRST_NAME||'.'||LAST_NAME AS NAME,SALARY,SALARY*12 AS "ANNUAL SALARY" FROM
EMPLOYEES WHERE "ANNUAL SALARY">2000;
SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE DEPARTMENT_ID=20;
SELECT FIRST_NAME||'.'||LAST_NAME AS NAME,HIREDATE FROM EMPLOYEES WHERE HIREDATE<
'01-JAN-1981';
SELECT * FROM EMPLOYEES WHERE JOB_ID='MANAGER';
SELECT FIRST_NAME||'.'||LAST_NAME AS NAME,SALARY FROM EMPLOYEES WHERE
COMMISION_PCT=1400;
SELECT * FROM EMPLOYEES WHERE COMMISION_PCT>SALARY;
SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE HIREDATE< '01-JAN-1987';
SELECT * FROM EMPLOYEES FROM EMPLOYEES WHERE JOB_ID='ANALYST';
SELECT * FROM EMPLOYEES WHERE SALARY+COMMISION_PCT>2000;

26-03-2025
-----------------
(THEN)
select sal,case
when sal> 3000 then 'woww'
when sal between 1500 and 3000 then 'okok'
when sal< 1500 then 'chiii'
end as Expression (to change the column name)
from emp;

SELECT COMM,CASE
WHEN COMM IS NOT NULL THEN 'GOOD JOB'
ELSE 'ENGINEERS'
END
AS REMARK
FROM EMP;

GROUP BY
-------------------------------- --------------------------------
SELECT GROUP_FUNCTION/GRP_BY_EXP
FROM TAB_NAME
WHERE <FLTR_CNDTN> (OPTIONAL)
GROUP BY COL_NAME/EXP

Q1)WAQTD NO. OF EMP WORKING IN EACH DEPARTMENT?


SELECT COUNT(*)
FROM EMP
GROUP BY DEPTNO;

TO DISPLAY THE DEPT NUMBER WE NEED TO USE GROUP BY EXP SO


SELECT COUNT(*),DEPTNO
FROM EMP
GROUP BY DEPTNO;

Q2) WAQTD NO. OF EMPS EARNING MORE THAN 200 IN EACH DEPARTMENT

SELECT COUNT(*),DEPTNO
FROM EMP
WHERE SAL>2000
GROUP BY DEPTNO;

1) SELECT COUNT(*),DEPTNO
FROM EMP
WHERE JOB !='PRESIDENT'
GROUP BY DEPTNO;

2)SELECT SUM(SAL),JOB
FROM EMP
GROUP BY JOB;

3)SELECT COUNT(*)
FROM EMP
WHERE JOB='MANAGER'
GROUP BY DEPTNO;

4)SELECT AVG(SAL),DEPTNO
FROM EMP
WHERE DEPTNO !=20
GROUP BY DEPTNO;

5)SELECT COUNT(*)
FROM EMP
WHERE ENAME LIKE '%A%'
GROUP BY JOB;

6)SELECT COUNT(*),AVG(SAL),DEPTNO
FROM EMP
WHERE SAL>2000
GROUP BY DEPTNO;

7)SELECT COUNT(*),SUM(SAL)
FROM EMP
GROUP BY DEPTNO;
8)
SELECT COUNT(*),MAX(SAL)
FROM EMP
GROUP BY JOB;
9)
SELECT MAX(SAL)
FROM EMP
GROUP BY DEPTNO;
10)
.....

Q) WAQTD NUMBER OF EMO HIRED ON THE SAME DAY INTO THE SAME DEPT
SELECT COUNT(*),HIREDATE,DEPTNO
FROM EMP
GROUP BY HIREDATE,DEPTNO;

Q)
SELECT COUNT(*)
FROM EMP

HAVING CLAUSE
------------------------------------------------------------------------

It used to filter the groups.


SYNTAX:-
1)SELECT GROUP_FUNCTION/GROUP_BY_EXPRESSION
2)FROM TABLE_NAME
3)WHERE <FILTER_CONDITION>
4)GROUP BY COLUMN_NAME
5)HAVING<GROUP_FILTER_CONDITION>;

ORDER OF EXECUTION:-
FROM
WHERE (ROW BY ROW)
GROUP BY (ROW BY ROW)
HAVING (GROUP BY GROUP)
SELECT (GROUP BY GROUP)
Q1)
WAQTD TO FIND NUMBER OF EMPLOYEE WORKING IN EACH DEPT IF THERE ARE AT LEAST 3
EMPLOYEES IN EACH DEPT.

SELECT COUNT(*),DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)>=3;

Q2)
WAQTD THE DESIGNATIONS IN WHICH THERE ARE AT LEST 2 EMPLOYEES PRESENT.

SELECT JOB,COUNT(*)
FROM EMP
GROUP BY JOB;

-->SELECT JOB,COUNT(*)
FROM EMP
GROUP BY JOB
HAVING COUNT(*)>=2;

Q3)
--WAQTD THE NAMES THAT ARE REPEATED
SELECT ENAME,COUNT(*)
FROM EMP
GROUP BY ENAME;

-->SELECT ENAME,COUNT(*)
FROM EMP
GROUP BY ENAME
HAVING COUNT(*) >1;

Q4) THE NAME THAT IS REPEATED TWICE.

Q5)
WHQTD DEPTNO AND NUMBER OF CLERKS WORKING IN EACH DEPT IF THERE ARE ATLEAST 2
CLERKS IN EACH DEPT.

SELECT COUNT(*),DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT('CLERKS')>=2;

Q6)
WAQTD DEPTNO AND TOTAL SALARY NEEDED TO PAY ALL EMP IN EACH DEPT IF THERE ARE
ATLEAST 4 EMP IN EACH DEPT.

SELECT COUNT(*),SUM(SAL)
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)>=4;

Q7)
WAQTD NUMBER OF EMPLOYEE EARNING SAL MORE THAN 1200 IN EACH JOB AND THE TOTAL SAL
NEEDED TO PAY EMP OF EACH JOB MUST EXCEES 3800.
SELECT COUNT(*)
FROM EMP
WHERE SAL>1200
GROUP BY JOB
HAVING SUM(SAL)>3800;

Q8)
WAQTD DEPTNO AND NUMBER OF EMP WORKING ONLY IF THERE ARE 2 EMP WORKING IN EACH DEPT
AS MANAGER.

SELECT COUNT(*),DEPTNO
FROM EMP
WHERE JOB='MANAGER'
GROUP BY DEPTNO
HAVING COUNT(JOB)=2;

Q9)
WAQTD JOB AND MAX SAL OF EMP IN EACH JOB IF THE MAX SALARY EXCEEDS 2600.

SELECT JOB,MAX(SAL)
FROM EMP
GROUP BY JOB
HAVING MAX(SAL)>2600;

Q10)
WAQTD THE SALARIES WHICH ARE REPEATED IN EACH EMP TABLE.

SELECT COUNT(*) ,
FROM EMP

ORDER BY
---------------------------------------------------------------------------
SYNTAX:-
SELECT */COL_NAME/EXP
FROM TAB_NAME
WHERE <FILTER_CONDITION> (OPTIONAL)
ORDER BY COL_NAME/EXP ASC/DESC;

SELECT GROUP_FUNCTION/GROUP BY EXPRESSION


FROM TABLE_NAME
WHERE <FILTER_CONDITION>
GROUP BY COLUMN_NAME/EXPPRESSION
HAVING<GROUP_FILTER_CONDITION>
ORDER BY COLUMN_NAME/EXPRESSION ASC/DESC;

ORDER OF EXECUTION:-

FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
SELECT *
FROM EMP
ORDER BY DEPTNO DESC;

SELECT SAL,DEPTNO
FROM EMP
ORDER BY SAL,DEPTNO;

SUB-QUERY
--------------------------------------------------------------------------

A QUERY WHICH IS WRITTEN INSIDE ANOTHER QUERY IS KNOWN AS SUB QUERY.

WE'VE TWO QUERY


INNER QUERY WILL TAKE INPUT FROM THE USER.
1)INNER QUERY-------->THIS IS GIVEN AS INPUT TO THE OUTER QUERY.
2)OUTER QUERY----AFTER TAKING THE INPUT FROM THE INNER QUERY THE OUTPUT QUERY WILL
PROVIDE THE OUTPUT.
OUTER QUERY IS COMPLETELY DEPENDENT ON INNER QUERY.

SUBQUERY HAVING TO TWO CASES:-

CASE1:-
WHEN EVER THERE IS AN UNKNOW PRESENT IN THE QUESTION OR IN A QUERY WE USE SUB QUERY
TO FIND OUT THE UNKNOWN.

CASE 2:-
WHENEVER THE DATA TO BE SELECTED AND CONDITION TO BE EXECUTED ARE PRESENT IN
DIFFERENT TABLES WE USE SUB QUERY.

EXAMPLE FOR CASE 1:-

(WHEN EVER THERE IS AN UNKNOW PRESENT IN THE QUESTION OR IN A QUERY WE USE SUB
QUERY TO FIND OUT THE

Q1)
WAQTD NAME AND SALARY OF EMPLOYEES EARNING MORE THAN YOGI.

SELECT ENAME,SAL
FROM EMP
WHERE SAL >4.(200)(3.SELECT SAL
1.FROM EMP
2. WHERE ENAME='YOGI');

Q1)
WAQTD NAME OF THE EMPLOYEES EARNING MORE THAN THE ADAMS

SELECT ENAME
FROM EMP
WHERE SAL>(SELECT SAL
FROM EMP
WHERE ENAME='ADAMS');

Q2)
WAQTD NAME AND SALARY OF THE EMPLOYEES EARNING LESS THAN KING.

SELECT ENAME ,SAL


FROM EMP
WHERE SAL<(SELECT SAL
FROM EMP
WHERE ENAME='KING');

Q3)
WAQTD NAME AND DEPTNO OF THE EMPLOYEE IF THEY ARE WORKING IN THE SAME DEPT AS
JONES.

SELECT ENAME,DEPTNO
FROM EMP
WHERE DEPTNO=(SELECT DEPTNO
FROM EMP WHERE ENAME ='JONES');

Q4)
WAQTD NAME AND JOB OF ALL THE EMPLOYEES WORKING AS THE SAME DESIGNATION AS JAMES.

SELECT ENAME,JOB
FROM EMP
WHERE JOB=(SELECT JOB FROM EMP WHERE ENAME='JAMES');

Q5)
WAQTD EMPNO AND ENAME ALONG WITH ANNUAL SALARY OF ALL EMPLOYEES IF THEIR ANNUAL
SALARY IS GREATER THAN WARDS ANNUAL SALARY.

SELECT EMPNO,ENAME,SAL*12 AS ANNUALSAL


FROM EMP
WHERE SAL*12>(SELECT SAL*12
FROM EMP
WHERE ENAME='WARD');

Q6)

Q11)
WAQTD ENAME AND SALARY OF ALL THE EMPLOYEES WHO ARE LEARNING MORE THAN MILLER BUT
LESS THAN ALLEN.

11) SELECT ENAME,SAL


FROM EMP
WHERE SAL>(SELECT SAL
FROM EMP
WHERE ENAME='MILLER')
AND
SAL<(SELECT SAL
FROM EMP
WHERE ENAME='ALLEN');

Q12)
WAQTD ALL THE DETAILS OF THE EMPLOYEES WORKING IN DEPT 20 AND WORKING IN THE SAME
DESIGNATION AS SMITH.
SELECT ENAME,EMPNO,DEPTNO,SAL
FROM EMP
WHERE DEPTNO=20 AND JOB=(SELECT JOB
FROM EMP
WHERE ENAME='SMITH');

Q13)
WAQTD ALL THE DETAILS OF THE EMPLOYEES WORKING AS MANAGER IN THE SAME DEPT AS
TURNER.

CASE 2:-
WHENEVER THE DATA TO BE SELECTED AND CONDITION TO BE EXECUTED ARE PRESENT IN
DIFFERENT TABLES WE USE SUB QUERY.

Q1)
WAQTD DNAME OF ANANT.
SELECT DNAME
FROM DEPT
WHERE DEPTNAME =
(
SELECT DEPTNO
FROM EMP
WHERE ENAME ='ANANT');

Q1)
WAQTD DNAME OF THE EMPLOYEES WHOS NAME IS SMITH.
SELECT DNAME
FROM DEPT
WHERE DEPTNO=(SELECT DEPTNO
FROM EMP WHERE ENAME='SMITH');

Q2)
WAQTD DNAME AND LOC OF THE EMP WHOS NAME IS KING.
SELECT DNAME,LOC
FROM DEPT
WHERE DEPTNO=(SELECT DEPTNO
FROM EMP WHERE ENAME='KING' );

TYPES OF SUB QFERY:-

TWO TYPES OF SUB QUERY

1)SINGLE ROW SUB QUERY


2)MULTI ROW SUB QUERY

SINGLE ROW SUB QUERY :-


IF A SUB QUERY RETUENS A SINGLE VALUE OR A RECORD IT IS KNOWN AS SINGLE ROW SUB
QUERY.

Q1)SELECT * FROM EMP


WHERE DEPTNO =(SELECT DEPTNO FROM EMP WHERE ENAME ='SMITH');

FOR A SINGLE ROW SUB QUERY WE CAN USE NORMAL (=)OPERATOR AS WELL AS SPECIAL
OPERATOR(IN).

IF A SUB QUERY RETURNS MORE THAN ONE VALUE OR A RECORD WE CALLED MULTI ROW SUB
QUERY.

Q) WRITE A QUERY TO DISPLAY LOCATION OF SMITH AND ALLEN.


SELECT LOC
FROM DEPT
WHERE DEPTNO IN (SELECT DEPTNO
FROM EMP
WHERE ENAME IN('SMITH','ALLEN'));

FOR A MULTIROW SUB QUERY WE CAN USE ONLY SPECIAL OPERATORS NORMAL OPERATORS CANT
BE USED.

Q) WAQTD ENAME AND SAL OF THE EMP WHO ARE EARNING MORE THAN ALL THE EMPLOYEES OF
DEPTNO 10.

(--------SPECIAL CHARACTER-------------------)(ALL)(SHOULD SATISFY ALL VALUES THEN


ONLY IT WILL EXECUTE)(MULTIPLE ROW GET SINGLE OUTPUT BY USING ALL)
SELECT ENAME,SAL
FROM EMP
WHERE SAL< ALL(SELECT SAL FROM EMP WHERE DEPTNO=10);

ANY(LIKE OR OPERATOR)
----------------------------------------------------------------------------
WAQTD NAME JOB AND SAL OF THE EMPLOYEE IF THE ARE EARNING MORE THAN ATLEAST A
MANAGER.

SELECT ENAME,JOB,SAL
FROM EMP
WHERE SAL>ANY(SELECT SAL
FROM EMP WHERE JOB='MANAGER');

NESTED SUB QUERY


------------------------------------------------------------------------------
A QUARY WHICH IS WRITTEN INSIDE A SUB QUERY IS KNOWN AS A NESTED SUB QUERY. WE CAN
NEST UPTO 255 SUB QUERY.

SELECT MAX(SAL)
FROM EMP
WHERE SAL<(SELECT MAX(SAL)
FROM EMP);

3RD MAXM SALARY


SELECT MAX(SAL)
FROM EMP
WHERE SAL< (SELECT MAX(SAL)
FROM EMP
WHERE SAL<(SELECT MAX(SAL)
FROM EMP));

Q)
5TH MINIUMUM SAL

SELECT MIN(SAL)
FROM EMP
WHERE SAL > (
SELECT MIN(SAL) FROM EMP WHERE SAL > (
SELECT MIN(SAL) FROM EMP WHERE SAL > (
SELECT MIN(SAL) FROM EMP WHERE SAL > (
SELECT MIN(SAL) FROM EMP
)
)
)
);

Q) WAQTD DEPT
NAME OF EMP WHO ARE EARNING 2ND MAXM SALARY.

SELECT DNAME
FROM DEPT
WHERE DEPTNO IN (
SELECT DEPTNO
FROM EMP
WHERE SAL = (
SELECT MAX(SAL)
FROM EMP
WHERE SAL < (
SELECT MAX(SAL) FROM EMP
)
)
);

EMPLOYEE MANAGER RELATION


--------------------------------------------------------------------------------
CASE1)
TO FIND MANAGER
WAQTD MANAGER NAME OF BHOLU

SELECT ENAME
FROM EMP
WHERE EMPNO IN
(SELECT MGR
FROM EMP
WHERE ENAME ='SMITH');

CASE2)
TO FIND EMPS REPORTING TO A MANAGER.

SELECT ENAME
FROM EMP
WHERE MGR IN (SELECT EMPNO
FROM EMP
WHERE ENAME='CHUKTI');

Q)
WAQTD MANAGER'S MANAGER NAME OF SMITH.
SELECT ENAME
FROM EMP
WHERE EMPNO IN(SELECT MGR
FROM EMP
WHERE EMPNO IN(SELECT MGR
FROM EMP
WHERE ENAME ='SMITH'));

Q)
WAQTD NUMBER OF EMPLOYEES WORKING IN THE DEPT WHERE THE PERSON IS EARNING MAXIMUM
SALARY.
SELECT COUNT(*)
FROM EMP
WHERE DEPTNO=(SELECT MAX(SAL)
FROM EMP);

SELECT COUNT(*)
FROM EMP
WHERE DEPTNO = (
SELECT DEPTNO
FROM EMP
WHERE SAL = (SELECT MAX(SAL) FROM EMP)
);

JOINS
-------------------------------------------------------------------------------
IT IS USED TO RETRIVE THE DATA FROM TABLE SIMULTANEOUSLY.

TYPES OF JOINS:-
1)CROSS JOIN OR CARTESIAN JOIN.
IT IS USED TO MERGE THE RECORD OF TABLE1 WITH ALL THE RECORDS OF TABLE 2.

SYNTAX:-
SELECT * COLUMN NAME /EXPRESSION
FROM T1 CROSS JOIN T2;

2)INNER JOIN:
IT IS USED TO OBTAIN ONLY MATCHING RECORDS OR A RECORD WHICH HAS A PAIR.

JOIN CONDITION:-ITS IS A CONDITION ON WHICH THE TWO TABLES ARE MERGED.

SYNTAX:-
TABLE_NAME1.COL_NAME=TABLE_NAME2.COL_NAME

SYNTAX FOR INNER JOIN:-


SELECT COLUMN_NAME/EXPRESSION
FROM T1 INNER JOIN T2 OR FROM T1 JOIN T2
ON <JOIN CONDITION> ;

Q)
WAQTD ENAME AND DENAME
SELECT ENAME,DNAME
FROM EMP INNER JOIN DENAME
ON ENAME.DEPTNO=DEPT.DETNO;

Q)
SELECT ENAME,LOC
FROM EMP JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO
WHERE JOB ='MANAGER';

Q)
WAQTD ENAME,SAL AND DNAME OF THE EMPLOYEE WORKING AS CLERK IN DEPT 20 WITH A SALARY
OF MORE THAN 1800.

SELECT ENAME,SAL,DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO = D.DEPTNO
WHERE JOB ='CLERK' AND E.DEPTNO=20 AND SAL>1800;
Q)
WAQTD ENAME DEPTNO,DNAME AND LOC OF THE EMPLOYEE EARNING MORE THAN 2000 IN NEW
YORK.

SELECT ENAME,D.DNAME,LOC,D.DEPTNO
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE SAL>2000 AND LOC ='NEW YORK';

Q)
NAME OF THE EMPLOYEE AND HIS LOC OF ALL THE EMPLOYEES.

SELECT ENAME,LOC
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO;

Q2)
WAQTD DNAME AND SAL FOR ALL THE EMPLOYEE WORKING IN ACCOUNTING.
SELECT DNAME,SAL
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE D.DNAME='ACCOUNTING';

Q3)
WAQTD DNAME AND ANNUAL SALARY FOR ALL EMPLOYEES WHOS SALARY IS MORE THAN 2340.

SELECT DNAME,SAL*12
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE E.SAL>2340;

Q4)
WAQTD ENAME AND DNAME FOR EMPLOYEES HAVING CHARACTER 'A' IN THEIR DNAME.

SELECT ENAME,D.DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE D.DNAME LIKE '%A';

Q5)
WAQTD ENAME AND DNAME FOR ALL THE EMPLOYEES WORKING AS SALESMAN.

SELECT ENAME,D.DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE JOB='SALESMAN';

Q6)
WAQTD DNAME AND JOB FOR ALL THE EMPLOYEES WHOS JOB AND DNAME STARTS WITH CHAR 'S'.

SELECT D.DNAME,JOB
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE D.DNAME='%S' AND JOB='%S';
Q7)
WAQTD DNAME AND MGR NO FOR EMPLOYEES REPORTING TO 7839.
SELECT D.DNAME,MGR
FROM EMP E JOIN DEPT D
ON E.DEPTNO=D.DEPTNO
WHERE EMPNO=7839;

Q8)
WAQTD DNAME AND HIREDATE FOR EMPLOYEES HIRED AFTER 83 INTO ACCOUNTING AND RESEARCH
DEPT.
Q9)
WAQTD ENAME AND DNAME OF THE EMPLOYEES WHO ARE GETTING COMM IN DEPT 10 OR 30.
Q10)
WAQTD DNAME AND EMPNO FOR ALL THE EMPLOYEES WHOS EMPNO ARE (7839,7902) AND ARE
WORKING IN LOC NEY YORK.

OUTER JOIN
--------------------------------------------------------------------------
IT IS USED TO OBTAIN UN-MATCHED RECORDS.

1.LEFT OUTER JOIN


IT IS USED TO OBTAIN UN-MATCHED RECOEDS OF LEFT TABLE ALONG WITH MATCHING RECORDS.

SYNTAX
FOR LEFT OUTER JOIN:-

SELECT */COLUMN_NAME/EXP
FROM T1 LEFT JOIN T2
ON <JOIN CONDITION>;

SELECT ENAME,DNAME
FROM EMP LEFT JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO;

RIGHT OUTER JOIN


-------------------------------------------------------------------------------
IT IS USED TO OBTAIN UN-MATCHED RECORDS OF RIGHT TABLE ALONG WITH MATCHING
RECORDS.

SELECT */COLUMN_NAME/EXP
FROM T1 RIGHT JOIN T2
ON <JOIN CONDITION>;

FULL OUTER JOIN


-------------------------------------------------------------------------------

IF IS USED TO OBTAIN UN-MATCHED RECORDS OF LEFT AND RIGHT TABLE ALONG WITH MATCHING
RECORDS.

SYNTAX:-
SELECT ENAME,DNAME
FROM EMP LEFT JOIN DEPT
ON EMP.DEPTNO =DEPT.DEPTNO
UNION
SELECT ENAME,DNAME
FROM EMP RIGHT JOIN DEPT
ON EMP.DEPTNO=DEPT.DEPTNO;

SELF JOIN
----------------------------------------------------------------------------------
JOINING A TABLE BY ITSELF IS KNOWN AS SELF JOIN.

WHENEVER THE DATA TO SELECT IS IN THE SAME TABLE BUT PRESENT IN DIFFERENT RECORDS
WE USE SELF JOIN.

You might also like