Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views86 pages

joins_04-05-2023

Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1/ 86

A.DEPARTMENT_ID=B.

DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL
20 RAM 2000 200
SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID , B.DEPT_ID ,B.DNAME , B.LOCATION
FROM EMPLOYEES A , DEPARTMENTS B WHERE A. DEPARTMENT_ID= B.DEPT_ID
I WANTED TO KNOW ALL THE EMPLOYEES WHO ARE WORKING IN WHICH DEPARTMENT

EQUI JOIN
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCAITON
10 RAJ 10000 100 100 HR BANGALORE
10 RAJ 10000 100 100 ABC GOA
20 RAM 20000 200 200 SALES CHENNAI
20 RAM 2000 200 200 SALES CHENNAI
30 RAMESH 30000 300 300 MARKETTING DELHI
40 RAVI 45000 400 400 ADMIN HYDERBAD

A.DEPARTMENT_ID=B.DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCAITON


10 RAJ 10000 100 100 HR BANGALORE
10 RAJ 10000 100 100 ABC DELHI
20 RAM 20000 200 200 SALES CHENNAI
30 RAMESH 30000 300 300 MARKETTING DELHI
40 RAVI 45000 400 400 ADMIN HYDERBAD
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME
10 RAJ 10000 100 100 HR
20 RAM 20000 200 200 SALES
30 RAMESH 30000 300 300 MARKETTING
40 RAVI 45000 400 400 ADMIN
50 RAMYA 60000 500 900 IT
60 DIVYA 70000 600 800 GLOBAL
70 JOHN 80000 700 NULL NULL
80 RAJESH 9000 NULL
90 RAMESH NULL NULL
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCAITON
10 RAJ 10000 100 100 HR BANGALORE
20 RAM 20000 200 200 SALES CHENNAI
30 RAMESH 30000 300 300 MARKETTING DELHI
40 RAVI 45000 400 400 ADMIN HYDERBAD
50 RAMYA 60000 500 NULL NULL NULL
60 DIVYA 70000 600 NULL NULL NULL
70 JOHN 80000 700 NULL NULL NULL
80 RAJESH 9000 NULL NULL NULL NULL
90 RAMESH NULL NULL NULL NULL NULL
NULL NULL NULL NULL 900 IT KOCHI
NULL NULL NULL NULL 800 GLOBAL PUNE
NULL NULL NULL NULL NULL NULL NULL
DEPARTMENTS B
NUMBER
DEPT_ID DNAME LOCAITON
100 HR BANGALORE
200 SALES CHENNAI
300 MARKETTING DELHI
400 ADMIN HYDERBAD
900 IT KOCHI
800 GLOBAL PUNE RDERS.CUSTOMER_ID ,
NULL NULL NULL
100 ABC GOA

WRITE A QUERY TO SEE THE DEPARTMENT NAMES OF ALL EMPLOYEES


B.LOCATION

N WHICH DEPARTMENT

DEPARTMENTS B NUMBER
DEPT_ID DNAME LOCAITON
100 HR BANGALORE
200 SALES CHENNAI
300 MARKETTING DELHI
400 ADMIN HYDERBAD
900 IT KOCHI
800 GLOBAL PUNE
NULL NULL NULL
100 ABC DELHI
LOCAITON
BANGALORE
CHENNAI
DELHI
HYDERBAD
KOCHI
PUNE
NULL
JOINS
10 MINS
ALL EMPLOYEES
A.DEPARTMENT_ID=B.DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID , B.DEPT_ID ,B.DNAME , B.LOCATION_ID , C.LOC_ID ,


FROM EMPLOYEES A , DEPARTMENTS B, LOCATIONS C WHERE A. DEPARTMENT_ID= B.DEPT_ID and B.LOCATION_
I WANTED TO KNOW ALL THE EMPLOYEES WHO ARE WORKING IN WHICH DEPARTMENT AND

EQUI JOIN
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003

A.DEPARTMENT_ID=B.DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL
100 JOHN 50000 100
SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID , B.DEPT_ID ,B.DNAME , B.LOCATION_D , C.LOC_ID , C
FROM EMPLOYEES A , DEPARTMENTS B, LOCATIONS C WHERE A. DEPARTMENT_ID= B.DEPT_ID andB.LOCATION_I
I WANTED TO KNOW ALL THE EMPLOYEES WHO ARE WORKING IN WHICH DEPARTMENT AND

EQUI JOIN
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
10 RAJ 10000 100 100 ABC 1007
100 JOHN 50000 100 100 HR 1001
100 JOHN 50000 100 100 ABC 1007
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
10 RAJ 10000 100 100 ABC 1007
100 JOHN 50000 100 100 ABC 1007

A.DEPARTMENT_ID=B.DEPT_DEPARTMENTS B
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

EMP_ID
SELECR A.EMP_ID , A.ENAME , A.SALARY , A.DEPARTMENT_ID , 10
B.DEPT_ID , B.DNAME , B.EMP_ID , B.STATE 20
FROM EMPLOYEES A , DEPARTMENTS B 30
WHERE A.EMP_ID=B.EMP_ID
AND A.DEPARTMENT_ID=B.DEPARTMENT_ID

SELECR A.EMP_ID , A.ENAME , A.SALARY , A.DEPARTMENT_ID ,


B.DEPT_ID , B.DNAME , B.EMP_ID , B.STATE
FROM EMPLOYEES A INNER JOIN DEPARTMENTS B
ON A.EMP_ID=B.IMP_ID
AND A.DEPARTMENT_ID=B.DEPARTMENT_ID
DEPARTMENTS B LOCATIONS C
NUMBER
DEPT_ID DNAME LOCATION_ID LOC_ID LOCAITON_NAME
100 HR 1001 1001 BANGALORE
200 SALES 1002 1002 CHENNAI
300 MARKETTING 1003 1003 DELHI
400 ADMIN 1004 1010 HYDERBAD
900 IT 1005 1011 KOCHI
800 GLOBAL NULL 1012 PUNE
NULL NULL 1006 1013 NULL

WRITE A QUERY TO SEE THE DEPARTMENT NAMES OF ALL EMPLOYEES


LOCATION_ID , C.LOC_ID , C.LOCATION_NAME ,C.STATE
DEPT_ID and B.LOCATION_ID =C.LOC_ID
WHICH DEPARTMENT AND ALSO THEIR LOCATIONS

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL

DEPARTMENTS B LOCATIONS C
NUMBER
DEPT_ID DNAME LOCATION_ID LOC_ID LOCAITON_NAME
100 HR 1001 1001 BANGALORE
200 SALES 1002 1002 CHENNAI
300 MARKETTING 1003 1003 DELHI
400 ADMIN 1004 1010 HYDERBAD
900 IT 1005 1011 KOCHI
800 GLOBAL NULL 1012 PUNE
NULL NULL 1006 1013 NULL
100 ABC 1007 1007 AHAMDABAD
1007 DELHI
WRITE A QUERY TO SEE THE DEPARTMENT NAMES OF ALL EMPLOYEES
LOCATION_D , C.LOC_ID , C.LOCATION_NAME ,C.STATE
DEPT_ID andB.LOCATION_ID =C.LOC_ID
WHICH DEPARTMENT AND ALSO THEIR LOCATIONS

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1007 AHAMDABAD GJ
1001 BANGALORE KAR
1007 AHAMDABAD GJ
1002 CHENNAI TN
1003 DELHI DL
1007 DELHI DL
1007 DELHI DL

NUMBER
DEPT_ID DNAME LOCATION_ID
100 HR 1001
200 SALES 1002
300 MARKETTING 1003
400 ADMIN 1004
900 IT 1005
800 GLOBAL NULL
NULL NULL 1006
100 ABC 1007

DEPARTMENTS B

NUMBER
DEPT_ID DNAME EMP_ID STATE
100 HR 10 KAR
200 SALES 20 TN
300 MARKETTING 30 TS
400 ADMIN 50 WB
900 IT 110 MH
800 GLOBAL 120 TS
NULL NULL 130 TN

ENAME SALARY DEPARTMENT_I DEPT_ID DNAME EMP_ID


RAJ 10000 100 100 HR 10
RAM 20000 200 200 SALES 20
RAMESH 30000 300 300 MARKETTING 30
STATE
KAR
TN
DL
TL
KL
MH
NULL

EMPLOYEES

STATE
KAR
TN
DL
TL
KL
MH
NULL
GJ
DL
EMPLOYEES
STATE
KAR
TN
TS
EMPLOYEE DEPARTMENTS
EMP_ID ENAME SALARY DNAME LOCAITON
10 RAJ 10000 HR BANGALORE
20 RAM 20000 SALES CHENNAI
30 RAMESH 30000 MARKETTING DELHI
40 RAVI 45000
SELECT A.* , B.* FROM EMP

EMP_ID ENAME
10 RAJ
10 RAJ
10 RAJ
20 RAM
20 RAM
20 RAM
30 RAMESH
30 RAMESH
30 RAMESH
40 RAVI
40 RAVI
40 RAVI
EMPLOYEE DEPARTMENTS
EMP_ID ENAME SALARY DNAME LOCAITON
10 RAJ 10000 HR BANGALORE
20 RAM 20000 SALES CHENNAI
30 RAMESH 30000 MARKETTING DELHI
40 RAVI 45000

SELECT A.EMP_ID , A.ENAME , A.SALARY,


B.DNAME , B.LOCATION , B.EMP_ID , B.DEPT_ID,
C.LOCATION_ID , C.STATE.C_DEPT_ID
FROM EMPLOYEES A LEFT OUTER JOIN DEPARTMENTS B
RIGHT OUTER JOIN LOCATIONS C

EMP_ID ENAME SALARY DNAME LOCAITONEMP_ID DEPT_ID


10 RAJ 10000 HR BANGALO10 1
20 RAM 20000 SALES CHENNAI 20 2
30 RAMESH 30000 NULL NULL NULL NULL
40 RAVI 45000 NULL NULL NULL NULL

EMP_ID ENAME SALARY DNAME LOCAITONEMP_ID DEPT_ID LOCATION_ID


10 RAJ 10000 HR BANGALO10 1 1000
20 RAM 20000 SALES CHENNAI 20 2 2000
NULL NULL NULL NULL NULL NULL NULL 3000

SELECT A.EMP_ID , A.ENAME , A.SALARY,


B.DNAME , B.LOCATION , B.EMP_ID , B.DEPT_ID,
C.LOCATION_ID , C.STATE.C_DEPT_ID
FROM EMPLOYEES A LEFT OUTER JOIN DEPARTMENTS B
LEFT OUTER JOIN LOCATIONS C

EMP_ID ENAME SALARY DNAME LOCAITONEMP_ID DEPT_ID


10 RAJ 10000 HR BANGALO10 1
20 RAM 20000 SALES CHENNAI 20 2
30 RAMESH 30000 NULL NULL NULL NULL
40 RAVI 45000 NULL NULL NULL NULL

EMP_ID ENAME SALARY DNAME LOCAITONEMP_ID DEPT_ID LOCATION_ID


10 RAJ 10000 HR BANGALO10 1 1000
20 RAM 20000 SALES CHENNAI 20 2 2000
30 RAMESH 30000 NULL NULL NULL NULL NULL
40 RAVI 45000 NULL NULL NULL NULL NULL

EMP_ID DEPARTMENT_ID DEPT_ID


10 100 400
20 200 500
30 300 600
30 NULL 700
EMP_ID DEPARTMENT_ID DEPT_ID DNAME
10 100 400 ABCD
10 100 500 DEFG
10 100 600 ABCD
10 100 700 KOCHI
20 200 400 ABCD
20 200 500 DEFG
20 200 600 ABCD
20 200 700 KOCHI
30 300 400 ABCD
30 300 500 DEFG
30 300 600 ABCD
30 300 700 KOCHI
30 NULL 400 ABCD
30 NULL 500 DEFG
30 NULL 600 ABCD
30 NULL 700 KOCHI

EMPLOYEE DEPARTMENTS
EMP_ID ENAME SALARY DNAME LOCAITON
10 RAJ 10000 HR BANGALORE
20 RAM 20000 SALES CHENNAI
30 RAMESH 30000 MARKETTING DELHI
40 RAVI 45000

EMP_ID ENAME SALARY DNAME LOCAITONEMP_ID DEPT_ID


10 RAJ 10000 HR BANGALO 10 1
10 RAJ 10000 SALES CHENNAI 20 2
10 RAJ 10000 MARKETTING DELHI 50 3
20 RAM 20000 HR BANGALO 10 1
20 RAM 20000 SALES CHENNAI 20 2
20 RAM 20000 MARKETTING DELHI 50 3
30 RAMESH 30000 HR BANGALO 10 1
30 RAMESH 30000 SALES CHENNAI 20 2
30 RAMESH 30000 MARKETTING DELHI 50 3
40 RAVI 45000 HR BANGALO 10 1
40 RAVI 45000 SALES CHENNAI 20 2
40 RAVI 45000 MARKETTING DELHI 50 3
LECT A.* , B.* FROM EMPLOYEES A , DEPARTMENTS B

SALARY DNAME LOCAITON


10000 HR BANGALORE
10000 SALES CHENNAI
10000 MARKETTDELHI EQUI JOIN INNER JOINNORMAL JOIN JOIN
20000 HR BANGALORE OUTER JOILEFT OUTERIGHT OUTER FULL OUTER
20000 SALES CHENNAI NON-EQUI
20000 MARKETTDELHI SELF JOIN
30000 HR BANGALORE CROSS JOIN
30000 SALES CHENNAI
30000 MARKETTDELHI
45000 HR BANGALORE
45000 SALES CHENNAI
45000 MARKETTDELHI
LOCATIONS
EMP_ID DEPT_ID LOCATION_ID STATE DEPT_ID
10 1 1000 KAR 1
20 2 2000 TN 2
50 3 3000 DL 5

LOCATIOSTATE DEPT_ID
1000 KAR 1
2000 TN 2
3000 DL 5

STATE DEPT_ID
KAR 1
TN 2
DL 5

LOCATIOSTATE DEPT_ID
1000 KAR 1
2000 TN 2
3000 DL 5

STATE DEPT_ID
KAR 1
TN 2
NULL NULL
NULL NULL
EMP_ID DEPT_ID
10 1
20 2
50 3
DNAME LOCAITON
HR BANGALORE
SALES CHENNAI
MARKETTING DELHI
ADMIN HYDERBAD
IT PUNE
SOFTWARE DELHI
ABCD MUMBAI
DEFG ABCD
3 3

EMPLOYEE A DEPARTMENTS B
EMP_ID ENAME SALARY dept_id DNAME
10 RAJ 10000 1 HR
20 RAM 20000 2 SALES
30 RAMESH 30000 3 MARKETTI
40 RAVI 45000 4

SELECT A.*, B.*


FROM EMPLOYEE A , DEPARTMENTS B
WHERE A.EMP_ID=B.EMP_ID
AND A.DEPT_ID=B.DEPARTMENT_ID

EMP_ID ENAME SALARY DNAME LOCAITON EMP_ID


10 RAJ 10000 1 BANGALOR10
20 RAM 20000 2 CHENNAI 20

EMP_ID DNAME LOCAITON


10 HR BANGALORE
20 SALES CHENNAI
30 MARKETTI DELHI
DEPARTMENTS B
LOCAITON EMP_ID DEPARTMENT_ID
BANGALOR10 1
CHENNAI 20 2
DELHI 30 5

JOIN WILL ADD THE COLUMNS FROM BOTH THE TABLES.

JOIN WILL JOIN THE TABLES VERTICALLY


LEFT EMPLOYEE
EMP_ID
10
20
30
40
50
60
70
80

ALL THE EMPLOYEES WHO ARE WORKING IN WHICH DEPARTMENT

EQUI JOIN
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
10 RAJ 10000 100
20 RAM 20000 200
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400

DEPARTMENT_ID=DEPT_ID
LEFT EMPLOYEE
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 ADHYA 56000 NULL

I WANT ALL THE DEPARTMENTS WHICH HAS EMPLOYEES , WHICH DOES NOT HAVE EMPLOYEES
RIGHT OUTER JOIN ALL THRE REOCRDS FROM RIGHT , MATCHING RECORDS FROM LEFT TABLE.
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME
10 RAJ 10000 100 100 HR
20 RAM 20000 200 200 SALES
30 RAMESH 30000 300 300 MARKETTING
40 RAVI 45000 400 400 ADMIN
10 RAJ 10000 100 100 IT
20 RAM 20000 200 200 ENGINEERING
NULL NULL NULL NULL 800 ACCOUNTS
NULL NULL NULL NULL 900 FINANCE
NULL NULL NULL NULL 1000 PHARMA

LEFT EMPLOYEE
EMP_ID
10
20
30
40
50
60
70
80
customers

cust_id cust_name website credit_limit


10 RAJ ABC 1000
20 RAM DEF 2000
30 RAMESH IJK 3000
40 RAMYA KLM 4000
50 DIVYA NULL NULL

LEFT OUTER
cust_id cust_name website credit_limit LOC_ID
10 RAJ ABC 1000 101
20 RAM DEF 2000 102
30 RAMESH IJK 3000 103
40 RAMYA KLM 4000 NULL
50 DIVYA NULL NULL NULL
DEPARTMENT_ID=DEPT_ID
DEPARTMENTS
ENAME SALARY DEPARTMENT_ID DEPT_ID
RAJ 10000 100 100
RAM 20000 200 200
RAMESH 30000 300 300
RAVI 45000 400 400
RAMYA 60000 500 100
DIVYA 70000 600 200
JOHN 80000 700 800
ADHYA 56000 NULL 900
1000
I WANT ALL THE DEPT NAMES FOR MY EMPLO
I WANT ALL THE EMPLOYEES , IF THEY DNT HA

LEFT OUTER JOIN


DEPT_ID DNAME LOCAITON EMP_ID
100 HR BANGALORE 10
100 IT GOA 10
200 SALES CHENNAI 20
200 ENGINEERING KOLKATA 20
300 MARKETTING DELHI 30
400 ADMIN HYDERBAD 40
50
60
70

DEPARTMENTS RIGHT
DEPT_ID DNAME LOCAITON
100 HR BANGALORE
200 SALES CHENNAI
300 MARKETTING DELHI
400 ADMIN HYDERBAD
100 IT GOA
200 ENGINEERING KOLKATA
800 ACCOUNTS VIZAG
900 FINANCE MYSORE
1000 PHARMA MUMBAI

LOCAITON
BANGALORE
CHENNAI
DELHI
HYDERBAD
GOA
KOLKATA
VIZAG
MYSORE
MUMBAI

DEPARTMENT_ID=DEPT_ID
DEPARTMENTS
ENAME SALARY DEPARTMENT_ID DEPT_ID
RAJ 10000 100 100
RAM 20000 200 200
RAMESH 30000 300 300
RAVI 45000 400 400
RAMYA 60000 500 100
DIVYA 70000 600 200
JOHN 80000 700 800
ADHYA 56000 NULL 900
1000

EMP_ID ENAME SALARY DEPARTMENT_ID


10 RAJ 10000 100
10 RAJ 10000 100
20 RAM 20000 200
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 ADHYA 56000 NULL
NULL NULL NULL NULL
NULL NULL NULL NULL
NULL NULL NULL NULL
80
locations

LOC_ID LOC_NAME ADDRESS CUST_ID


101 BANGALORE ABC 10
102 CHENNAI DEF 20
103 DELHI IJK 30
104 HYDERABAD JHY 60
105 KOCHI IKJH 80
106 MUMBAI NULL NULL

LOC_NAME ADDRESS CUST_ID CUST_ID


BANGALORE ABC 10 10
CHENNAI DEF 20 20
DELHI IJK 30 30
NULL NULL NULL NULL
NULL NULL NULL NULL
NULL
RIGHT
DNAME LOCAITON
HR BANGALORE
SALES CHENNAI
MARKETTING DELHI
ADMIN HYDERBAD
IT GOA
ENGINEERING KOLKATA
ACCOUNTS VIZAG
FINANCE MYSORE
PHARMA MUMBAI
ALL THE DEPT NAMES FOR MY EMPLOYEES EQUI JOIN
ALL THE EMPLOYEES , IF THEY DNT HAVE DEPARTMENT ALSO

ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME


RAJ 10000 100 100 HR
RAJ 10000 100 100 IT
RAM 20000 200 200 SALES
RAM 20000 200 200 ENGINEERING
RAMESH 30000 300 300 MARKETTING
RAVI 45000 400 400 ADMIN
RAMYA 60000 500 NULL NULL
DIVYA 70000 600 NULL NULL
JOHN 80000 700 NULL NULL
RIGHT
DNAME LOCAITON
HR BANGALORE
SALES CHENNAI
MARKETTING DELHI
ADMIN HYDERBAD
IT GOA
ENGINEERING KOLKATA
ACCOUNTS VIZAG
FINANCE MYSORE
PHARMA MUMBAI

DEPT_ID DNAME LOCAITON


100 HR BANGALORE
100 IT GOA
200 SALES CHENNAI
200 ENGINEERING KOLKATA
300 MARKETTING DELHI
400 ADMIN HYDERBAD
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
800 ACCOUNTS VIZAG
900 FINANCE MYSORE
1000 PHARMA MUMBAI
ADHYA 56000 NULL NULL NULL
RIGHT OUTER
cust_name website credit_limit LOC_ID LOC_NAME
RAJ ABC 1000 101 BANGALORE
RAM DEF 2000 102 CHENNAI
RAMESH IJK 3000 103 DELHI
NULL NULL NULL 104 HYDERABAD
NULL NULL NULL 105 KOCHI
NULL NULL NULL 106 MUMBAI
LEFT UTER JOIN

LOCAITON
BANGALORE
GOA
CHENNAI
KOLKATA
DELHI
HYDERBAD
NULL
NULL
NULL
NULL
ADDRESS CUST_ID
ABC 10
DEF 20
IJK 30
JHY 60
IKJH 80
NULL NULL
LEFT EMPLOYEE
EMP_ID ENAME SALARY
10 RAJ 10000
20 RAM 20000
30 RAMESH 30000
40 DIVYA 40000
50 RAMYA 58000
60 RAJESH 6000
80 RAVI 9000
90 NULL NULL

ALL THE RECORDS FROM LEFT TABLE , MATCHING RECORDS FROM RIGHT TABLE.

I WANT ALL THE EMPLOYEES WHO IS HAVING DEPARTMENTS , AND ALSO WHO IS NOT HAVING DEPARTMENTS

LEFT OUTER JOIN


EMP_ID ENAME SALARY DEPARTMENDEPT_ID DNAME
10 RAJ 10000 100 100 HR
20 RAM 20000 200 200 SALES
30 RAMESH 30000 300 300 MARKETTING
40 DIVYA 40000 9000 NULL NULL
50 RAMYA 58000 9850 NULL NULL
60 RAJESH 6000 800 800 ENGINEERING
80 RAVI 9000 NULL NULL NULL
90 NULL NULL NULL NULL NULL

I WANT ALL THE EMPLOYEES WHO HAVE DEPARTMENTS.

INNER JOIN
ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCAITON
10 RAJ 10000 100 HR BANGALORE
20 RAM 20000 200 SALES CHENNAI
30 RAMESH 30000 300 MARKETTING DELHI
60 RAJESH 6000 800 ENGINEERING GOA
EMPLOYEE
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 DIVYA 40000 9000
50 RAMYA 58000 9850
60 RAJESH 6000 NULL
NULL NULL 8000 NULL

FULL OUTER
EMP_ID ENAME SALARY DEPARTMENT_
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 DIVYA 40000 9000
50 RAMYA 58000 9850
60 RAJESH 6000 NULL
NULL NULL 8000 NULL
NULL NULL NULL NULL
NULL NULL NULL NULL
NULL NULL NULL NULL
NULL NULL NULL NULL
NULL NULL NULL NULL
NULL NULL NULL NULL
DEPARTMENT_ID=DEPT_ID PK
DEPARTMENTS RIGHT
DEPARTMENT_ID DEPT_ID DNAME LOCAITON
100 100 HR BANGALORE
200 200 SALES CHENNAI
300 300 MARKETTING DELHI
9000 400 ADMIN HYDERBAD
9850 500 IT KOCHI
800 600 NON-IT KOLKATA
NULL 700 FINANCE VIZAG
NULL 800 ENGINEERING GOA
NULL RECOVERY PATNA
NULL NULL NULL
ALL THE REORDS FROM RIGHT TABLE , MATCHING RECORDS FROM LEFT TABLE.
HO IS NOT HAVING DEPARTMENTS
I WANT ALL THE DEPARTMENTS , WHO IS HAVING EMPLOYEES AND WHO IS NOT HAVING EMO

RIGHT OUTER JOIN


LOCAITON EMP_ID ENAME SALARY DEPARTMEDEPT_ID
BANGALORE 10 RAJ 10000 100 100
CHENNAI 20 RAM 20000 200 200
DELHI 30 RAMESH 30000 300 300
NULL NULL NULL NULL NULL 400
NULL NULL NULL NULL NULL 500
GOA NULL NULL NULL NULL 600
NULL NULL NULL NULL NULL 700
NULL 60 RAJESH 6000 800 800
NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL

I WANT ALL THE EMPLOYEES , WHO IS HAVING DEPARTMENTS AND ALSO WHO IS NOT HAVING
ALSO I WANT ALL THE DEPARTMETS, WHO IS EMPLOYEES AND ALSO WHO IS NOT HAVING EM

FULL OUTER LEFT OUTER JOIN + RIGHT OUTER JOIN


EMP_ID ENAME SALARY DEPARTMENT_DEPT_ID DNAME
10 RAJ 10000 100 100 HR
20 RAM 20000 200 200 SALES
30 RAMESH 30000 300 300 MARKETTI
40 DIVYA 40000 9000 NULL NULL
50 RAMYA 58000 9850 NULL NULL
60 RAJESH 6000 800 800 ENGINEERI
80 RAVI 9000 NULL NULL NULL
90 NULL NULL NULL NULL NULL
NULL NULL NULL NULL 400 ADMIN
NULL NULL NULL NULL 500 IT
NULL NULL NULL NULL 600 NON-IT
NULL NULL NULL NULL 700 FINANCE
NULL NULL NULL NULL NULL RECOVERY
NULL NULL NULL NULL NULL NULL

DEPARTMENTS RIGHT
EPARTMENT_ID DEPT_ID DNAME LOCAITON
100 HR BANGALORE
200 SALES CHENNAI
300 MARKETTING DELHI
400 ADMIN HYDERBAD
500 IT KOCHI
600 NON-IT KOLKATA
700 FINANCE VIZAG
NULL ENGINEERING GOA
NULL NULL KOLKATA

DEPT_ID DNAME LOCAITON


100 HR BANGALORE
200 SALES CHENNAI
300 MARKETTINDELHI
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
400 ADMIN HYDERBAD
500 IT KOCHI
600 NON-IT KOLKATA
700 FINANCE VIZAG
NULL ENGINEERINGOA
NULL NULL KOLKATA
CORDS FROM LEFT TABLE.

PLOYEES AND WHO IS NOT HAVING EMOLOYEES.

DNAME LOCAITON
HR BANGALORE
SALES CHENNAI
MARKETTING DELHI
ADMIN HYDERBAD
IT KOCHI
NON-IT KOLKATA
FINANCE VIZAG
ENGINEERING GOA
RECOVERY PATNA
NULL NULL

TMENTS AND ALSO WHO IS NOT HAVING DEPARMTNETS


EES AND ALSO WHO IS NOT HAVING EMPLOYEES

HT OUTER JOIN
LOCAITON
BANGALORE
CHENNAI
DELHI
NULL
NULL
GOA
NULL
NULL
HYDERBAD
KOCHI
KOLKATA
VIZAG
PATNA
NULL
Region_id Region_name COUNTRY_ID COUNTRY_NAME REGION_ID
1 Europe NL Netherlands 1
2 Americas FR France 1
3 Asia UK United Kingdom 1
4 Middle East and Africa DK Denmark 1
5 Australia BE Belgium 1
CH Switzerland 1
IT Italy 1
DE Germany 1
US United States of A 2
CA Canada 2
MX Mexico 2
BR Brazil 2
AR Argentina 2
ML Malaysia 3
JP Japan 3
IN India 3
CN China 3
AU Australia 3
SG Singapore 3
IL Israel 4
ZM Zambia 4
EG Egypt 4
ZW Zimbabwe 4
NG Nigeria 4
KW Kuwait 4
AB abcdef 6
DE defgh 6
FG fgikuk 7
JP jphyj 8

I WANT ALL THE REGION NAMES , WHICH ARE HAVING COUNTRY NAME AND ALSO WHICH ARE NOT HAVING COUNTRY NA

LEFT OUTER JOIN


Region_id Region_name COUNTRY_COUNTRY_NAMREGION_ID
1 Europe NL Netherlands 1
1 Europe FR France 1
1 Europe UK United Kingdo 1
1 Europe DK Denmark 1
1 Europe BE Belgium 1
1 Europe CH Switzerland 1
1 Europe IT Italy 1
1 Europe DE Germany 1
2 Americas US United States o 2
2 Americas CA Canada 2
2 Americas MX Mexico 2
2 Americas BR Brazil 2
2 Americas AR Argentina 2
3 Asia ML Malaysia 3
3 Asia JP Japan 3
3 Asia IN India 3
3 Asia CN China 3
3 Asia AU Australia 3
3 Asia SG Singapore 3
4 Middle East and Africa IL Israel 4
4 Middle East and Africa ZM Zambia 4
4 Middle East and Africa EG Egypt 4
4 Middle East and Africa ZW Zimbabwe 4
4 Middle East and Africa NG Nigeria 4
4 Middle East and Africa KW Kuwait 4
5 Australia NULL NULL NULL

I WANT ALL THE COUNTY NAMES , WHICH ARE HAVING REGIONS AND ALSO WHICH ARE NOT HAVING CREGIONS

RIGHT OUTER JOIN


Region_id Region_name COUNTRY_COUNTRY_NAMREGION_ID
1 Europe NL Netherlands 1
1 Europe FR France 1
1 Europe UK United Kingdo 1
1 Europe DK Denmark 1
1 Europe BE Belgium 1
1 Europe CH Switzerland 1
1 Europe IT Italy 1
1 Europe DE Germany 1
2 Americas US United States o2
2 Americas CA Canada 2
2 Americas MX Mexico 2
2 Americas BR Brazil 2
2 Americas AR Argentina 2
3 Asia ML Malaysia 3
3 Asia JP Japan 3
3 Asia IN India 3
3 Asia CN China 3
3 Asia AU Australia 3
3 Asia SG Singapore 3
4 Middle East and Africa IL Israel 4
4 Middle East and Africa ZM Zambia 4
4 Middle East and Africa EG Egypt 4
4 Middle East and Africa ZW Zimbabwe 4
4 Middle East and Africa NG Nigeria 4
4 Middle East and Africa KW Kuwait 4
NULL NULL AB abcdef 6
NULL NULL DE defgh 6
NULL NULL FG fgikuk 7
NULL NULL JP jphyj 8
INNER JOIN
Region_id Region_name COUNTRY_ID COUNTRY_NAME REGION_ID
1 Europe NL Netherlands 1
1 Europe FR France 1
1 Europe UK United Kingdom 1
1 Europe DK Denmark 1
1 Europe BE Belgium 1
1 Europe CH Switzerland 1
1 Europe IT Italy 1
1 Europe DE Germany 1
2 Americas US United States of Ame 2
2 Americas CA Canada 2
2 Americas MX Mexico 2
2 Americas BR Brazil 2
2 Americas AR Argentina 2
3 Asia ML Malaysia 3
3 Asia JP Japan 3
3 Asia IN India 3
3 Asia CN China 3
3 Asia AU Australia 3
3 Asia SG Singapore 3
4 Middle East and IL Israel 4
4 Middle East and ZM Zambia 4
4 Middle East and EG Egypt 4
4 Middle East and ZW Zimbabwe 4
4 Middle East and NG Nigeria 4
4 Middle East and KW Kuwait 4

CH ARE NOT HAVING COUNTRY NAMES.


NOT HAVING CREGIONS

FULL OUTER JOIN


Region_id Region_na COUNTRY_ID COUNTRY_NAMEREGION_ID
1 Europe NL Netherlands 1
1 Europe FR France 1
1 Europe UK United Kingdom 1
1 Europe DK Denmark 1
1 Europe BE Belgium 1
1 Europe CH Switzerland 1
1 Europe IT Italy 1
1 Europe DE Germany 1
2 Americas US United States of 2
2 Americas CA Canada 2
2 Americas MX Mexico 2
2 Americas BR Brazil 2
2 Americas AR Argentina 2
3 Asia ML Malaysia 3
3 Asia JP Japan 3
3 Asia IN India 3
3 Asia CN China 3
3 Asia AU Australia 3
3 Asia SG Singapore 3
4 Middle EastIL Israel 4
4 Middle EastZM Zambia 4
4 Middle EastEG Egypt 4
4 Middle EastZW Zimbabwe 4
4 Middle EastNG Nigeria 4
4 Middle EastKW Kuwait 4
5 Australia NULL NULL NULL
NULL NULL AB abcdef 6
NULL NULL DE defgh 6
NULL NULL FG fgikuk 7
NULL NULL JP jphyj 8
EMPLOYEE DEPARTMENTS RIGHT
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCAITON
10 RAJ 10000 100 100 HR BANGALORE
20 RAM 20000 200 200 SALES CHENNAI
30 RAMESH 30000 300 300 MARKETTING DELHI
40 DIVYA 40000 9000 400 ADMIN HYDERBAD
50 RAMYA 58000 9850 500 IT KOCHI
60 RAJESH 6000 800 600 NON-IT KOLKATA
90 DINESH 80000 800 700 FINANCE VIZAG
80 RAVI 9000 NULL 800 ENGINEERING GOA
90 NULL NULL NULL 100 ACCOUNTS MYSORE
NULL RECOVERY PATNA
NULL NULL NULL

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCAITON


10 RAJ 10000 100 100 HR BANGALORE
10 RAJ 10000 100 100 ACCOUNTS MYSORE
20 RAM 20000 200 200 SALES CHENNAI
30 RAMESH 30000 300 300 MARKETTING DELHI
40 DIVYA 40000 9000 NULL NULL NULL
50 RAMYA 58000 9850 NULL NULL NULL
60 RAJESH 6000 800 800 ENGINEERING GOA
90 DINESH 80000 800 800 ENGINEERING GOA
80 RAVI 9000 NULL NULL NULL NULL
90 NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL 400 ADMIN HYDERBAD
NULL NULL NULL NULL 500 IT KOCHI
NULL NULL NULL NULL 600 NON-IT KOLKATA
NULL NULL NULL NULL 700 FINANCE VIZAG
NULL NULL NULL NULL NULL RECOVERY PATNA
NULL NULL NULL NULL NULL NULL NULL
A.DEPARTMENT_ID=B.DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID , B.DEPT_ID ,B.DNAME , B.LOCATION_ID , C.LOC_ID ,


FROM EMPLOYEES A , DEPARTMENTS B, LOCATIONS C WHERE A. DEPARTMENT_ID= B.DEPT_ID and B.LOCATION_
I WANTED TO KNOW ALL THE EMPLOYEES WHO ARE WORKING IN WHICH DEPARTMENT AND

EQUI JOIN
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002

A.DEPARTMENT_ID=B.DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL
100 JOHN 50000 100

SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID , B.DEPT_ID ,B.DNAME , B.LOCATION_D , C.LOC_ID , C


FROM EMPLOYEES A , DEPARTMENTS B, LOCATIONS C WHERE A. DEPARTMENT_ID= B.DEPT_ID and B.LOCATION_
I WANTED TO KNOW ALL THE EMPLOYEES WHO ARE WORKING IN WHICH DEPARTMENT AND
EQUI JOIN
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
10 RAJ 10000 100 100 ABC 1007
10 RAJ 10000 100 100 ABC 1007
100 JOHN 50000 100 100 HR 1001
100 JOHN 50000 100 100 ABC 1007
100 JOHN 50000 100 100 ABC 1007
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME
10 RAJ 10000 100 100 HR
20 RAM 20000 200 200 SALES
30 RAMESH 30000 300 300 MARKETTING
40 DIVYA 40000 9000 400 ADMIN
50 RAMYA 58000 9850 500 IT
60 RAJESH 6000 NULL 600 NON-IT
NULL NULL 8000 NULL 700 FINANCE
NULL ENGINEERING
NULL NULL

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCAITON


10 RAJ 10000 100 100 HR BANGALORE
20 RAM 20000 200 200 SALES CHENNAI
30 RAMESH 30000 300 300 MARKETTING DELHI
DEPARTMENTS B LOCATIONS C
NUMBER
DEPT_ID DNAME LOCATION_ID LOC_ID LOCAITON_NAME
100 HR 1001 1001 BANGALORE
200 SALES 1002 1002 CHENNAI
300 MARKETTING 1003 1003 DELHI
400 ADMIN 1004 1010 HYDERBAD
900 IT 1005 1011 KOCHI
800 GLOBAL NULL 1012 PUNE
NULL NULL 1006 1013 NULL

WRITE A QUERY TO SEE THE DEPARTMENT NAMES OF ALL EMPLOYEES


LOCATION_ID , C.LOC_ID , C.LOCATION_NAME ,C.STATE,C.ORDER_ID , D.OR_ID , D.ORDER_NAME
DEPT_ID and B.LOCATION_ID =C.LOC_ID AND C.OR_ID=D.ORDER_ID+Q3:R3
WHICH DEPARTMENT AND ALSO THEIR LOCATIONS

LOC_ID LOCAITON_NAME STATE ORER_ID OR_ID ORDER_NAME


1001 BANGALORE KAR 5001 5001 ABC
1002 CHENNAI TN 5002 5002 DEF

DEPARTMENTS B LOCATIONS C
NUMBER
DEPT_ID DNAME LOCATION_ID LOC_ID LOCAITON_NAME
100 HR 1001 1001 BANGALORE
200 SALES 1002 1002 CHENNAI
300 MARKETTING 1003 1003 DELHI
400 ADMIN 1004 1010 HYDERBAD
900 IT 1005 1011 KOCHI
800 GLOBAL NULL 1012 PUNE
NULL NULL 1006 1013 NULL
100 ABC 1007 1007 AHAMDABAD
1007 DELHI
WRITE A QUERY TO SEE THE DEPARTMENT NAMES OF ALL EMPLOYEES

LOCATION_D , C.LOC_ID , C.LOCATION_NAME ,C.STATE


DEPT_ID and B.LOCATION_ID =C.LOC_ID
WHICH DEPARTMENT AND ALSO THEIR LOCATIONS

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1007 AHAMDABAD GJ
1007 DELHI DL
1001 BANGALORE KAR
1007 AHAMDABAD GJ
1007 DELHI DL
1002 CHENNAI TN
1003 DELHI DL
LOCAITON
BANGALORE
CHENNAI
DELHI
HYDERBAD
KOCHI
KOLKATA
VIZAG
GOA
KOLKATA
ORDERS

STATE ORER_ID OR_ID ORDER_NAME


KAR 5001 5001 ABC
TN 5002 5002 DEF
DL 5003 5010 IJK
TL 5004 5011 MNO
KL 5005 5012 PLW
MH 5006 5013 UIO
NULL NULL 5014 IKO

LL EMPLOYEES

STATE
KAR
TN
DL
TL
KL
MH
NULL
GJ
DL
LL EMPLOYEES
A.DEPARTMENT_ID=B.DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL
SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID ,
B.DEPT_ID ,B.DNAME , B.LOCATION_ID ,
C.LOC_ID , C.LOCATION_NAME ,C.STATE
FROM EMPLOYEES A INNER JOIN DEPARTMENTS B ON A.DEPARTMENT_ID = B.DEPT_ID
INNER JOIN LOCATIONS C ON B.LOCATION_ID = C.LOC_ID
INNER JOIN
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003

SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID ,


B.DEPT_ID ,B.DNAME , B.LOCATION_ID ,
C.LOC_ID , C.LOCATION_NAME ,C.STATE
FROM EMPLOYEES A LEFT OUTER JOIN DEPARTMENTS B ON A.DEPARTMENT_ID = B.DEPT_ID
LEFT OUTER JOIN LOCATIONS C ON B.LOCATION_ID = C.LOC_ID

LEFT OUTER JOIN


EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
40 RAVI 45000 400 400 ADMIN 1004
50 RAMYA 60000 500 NULL NULL NULL
60 DIVYA 70000 600 NULL NULL NULL
70 JOHN 80000 700 NULL NULL NULL
80 RAJESH 9000 NULL NULL NULL NULL
90 RAMESH NULL NULL NULL NULL NULL

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID


10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
40 RAVI 45000 400 400 ADMIN 1004
50 RAMYA 60000 500 NULL NULL NULL
60 DIVYA 70000 600 NULL NULL NULL
70 JOHN 80000 700 NULL NULL NULL
80 RAJESH 9000 NULL NULL NULL NULL
90 RAMESH NULL NULL NULL NULL NULL

SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID ,


B.DEPT_ID ,B.DNAME , B.LOCATION_ID ,
C.LOC_ID , C.LOCATION_NAME ,C.STATE
FROM EMPLOYEES A RIGHT OUTER JOIN DEPARTMENTS B ON A.DEPARTMENT_ID = B.DEPT_ID
RIGHT OUTER JOIN LOCATIONS C ON B.LOCATION_ID = C.LOC_ID

RIGHT OUTER JOIN


EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
40 RAVI 45000 400 400 ADMIN 1004
NULL NULL NULL NULL 900 IT 1005
NULL NULL NULL NULL 800 GLOBAL NULL
NULL NULL NULL NULL NULL NULL 1006

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID


10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL

SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID ,


B.DEPT_ID ,B.DNAME , B.LOCATION_ID ,
C.LOC_ID , C.LOCATION_NAME ,C.STATE
FROM EMPLOYEES A LEFT OUTER JOIN DEPARTMENTS B ON A.DEPARTMENT_ID = B.DEPT_ID
RIGHT OUTER JOIN LOCATIONS C ON B.LOCATION_ID = C.LOC_ID
EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID
10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
40 RAVI 45000 400 400 ADMIN 1004
50 RAMYA 60000 500 NULL NULL NULL
60 DIVYA 70000 600 NULL NULL NULL
70 JOHN 80000 700 NULL NULL NULL
80 RAJESH 9000 NULL NULL NULL NULL
90 RAMESH NULL NULL NULL NULL NULL

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID


10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
DEPARTMENTS B LOCATIONS C
NUMBER
DEPT_ID DNAME LOCATION_ID LOC_ID LOCAITON_NAME
100 HR 1001 1001 BANGALORE
200 SALES 1002 1002 CHENNAI
300 MARKETTING 1003 1003 DELHI
400 ADMIN 1004 1010 HYDERBAD
900 IT 1005 1011 KOCHI
800 GLOBAL NULL 1012 PUNE
NULL NULL 1006 1013 NULL

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL

LOC_ID LOCAITON_N STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
1010 HYDERBAD TL
1011 KOCHI KL
1012 PUNE MH
1013 NULL NULL

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL

LOC_ID LOCAITON_N STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
1010 HYDERBAD TL
1011 KOCHI KL
1012 PUNE MH
1013 NULL NULL

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
1010 HYDERBAD TL
1011 KOCHI KL
1012 PUNE MH
1013 NULL NULL
LOC_ID LOCAITON_N STATE
1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
1010 HYDERBAD TL
1011 KOCHI KL
1012 PUNE MH
1013 NULL NULL

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
1010 HYDERBAD TL
1011 KOCHI KL
1012 PUNE MH
1013 NULL NULL
STATE
KAR
TN
DL
TL
KL
MH
NULL
A.DEPARTMENT_ID=B.DEPT_ID
EMPLOYEE A NUMBER
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200
30 RAMESH 30000 300
40 RAVI 45000 400
50 RAMYA 60000 500
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

SELECT A. EMP_ID ,A.ENAME , A.SALARY , A.DEPARTMENT_ID , B.DEPT_ID ,B.DNAME , B.LOCATION_ID , C.LOC_ID ,


FROM EMPLOYEES A RIGHT OUTER JOIN DEPARTMENTS B ON A. DEPARTMENT_ID= B.DEPT_ID
RIGHT OUTER JOIN LOCATIONS C ON B.LOCATION_ID =C.LOC_ID

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID


10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
40 RAVI 45000 400 400 ADMIN 1004
NULL NULL NULL NULL 900 IT 1005
NULL NULL NULL NULL 800 GLOBAL NULL
NULL NULL NULL NULL NULL NULL 1006

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_ID


10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
30 RAMESH 30000 300 300 MARKETTING 1003
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL
DEPARTMENTS B LOCATIONS C
NUMBER
DEPT_ID DNAME LOCATION_ID LOC_ID LOCAITON_NAME
100 HR 1001 1001 BANGALORE
200 SALES 1002 1002 CHENNAI
300 MARKETTING 1003 1003 DELHI
400 ADMIN 1004 1010 HYDERBAD
900 IT 1005 1011 KOCHI
800 GLOBAL NULL 1012 PUNE
NULL NULL 1006 1013 NULL

WRITE A QUERY TO SEE THE DEPARTMENT NAMES OF ALL EMPLOYEES


LOCATION_ID , C.LOC_ID , C.LOCATION_NAME ,C.STATE

LOC_ID LOCAITON_N STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
1010 HYDERBAD TL
1011 KOCHI KL
1012 PUNE MH
1013 NULL NULL

LOC_ID LOCAITON_NAME STATE


1001 BANGALORE KAR
1002 CHENNAI TN
1003 DELHI DL
1010 HYDERBAD TL
1011 KOCHI KL
1012 PUNE MH
1013 NULL NULL
STATE
KAR
TN
DL
TL
KL
MH
NULL

LL EMPLOYEES
EMPLOYEE A
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200 SELECT A.*, B.*
30 RAMESH 30000 300 FROM EMPLOYEES A , DEPARTMENTS B
40 RAVI 45000 400 WHERE A.EMP_ID= B.EMP_ID
50 RAMYA 60000 500 AND A.DEPARTMENT_ID =B.DEPT_ID
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

EMP_ID ENAME SALARY DEPARTMENT_ID DEPT_ID DNAME LOCATION_


10 RAJ 10000 100 100 HR 1001
20 RAM 20000 200 200 SALES 1002
40 RAVI 45000 400 400 ADMIN 1004

EMPLOYEE A
EMP_ID ENAME SALARY DEPARTMENT_ID
10 RAJ 10000 100
20 RAM 20000 200 SELECT A.*, B.*
30 RAMESH 30000 300 FROM EMPLOYEES A , DEPARTMENTS B
40 RAVI 45000 400 WHERE A.EMP_ID= B.EMP_ID
50 RAMYA 60000 500 AND A.DEPARTMENT_ID =B.DEPT_ID
60 DIVYA 70000 600
70 JOHN 80000 700
80 RAJESH 9000 NULL
90 RAMESH NULL NULL

SELECT A.*, B.*


FROM EMPLOYEES A INNER DEPARTMENTS B
ON A.EMP_ID= B.EMP_ID
AND A.DEPARTMENT_ID =B.DEPT_ID

EMP_ID ENAME SALARY DEPARTMEDEPT_ID DNAME LOCATION_EMP_ID


10 RAJ 10000 100 100 HR 1001 10
20 RAM 20000 200 200 SALES 1002 20
40 RAVI 45000 400 400 ADMIN 1004 40
DEPARTMENTS
DEPT_ID DNAME LOCATION_ID EMP_ID
100 HR 1001 10
200 SALES 1002 20
MPLOYEES A , DEPARTMENTS B 300 MARKETTI 1003 80
.EMP_ID= B.EMP_ID 400 ADMIN 1004 40
PARTMENT_ID =B.DEPT_ID 900 IT 1005 50
800 GLOBAL NULL 60
NULL NULL 1006 70

LEFTOUTER JOIN
SELECT A.*, B.*
EMP_ID FROM EMPLOYEES A , DEPARTMENTS B
10 WHERE A.EMP_ID= B.EMP_ID(+)
20 AND A.DEPARTMENT_ID =B.DEPT_ID(+)
40
LEFTOUTER JOIN
SELECT A.*, B.*
FROM EMPLOYEES A LEFT OUTER JOIN DEPARTMENTS B
ON A.EMP_ID= B.EMP_ID AND
A.DEPARTMENT_ID =B.DEPT_ID

DEPARTMENTS
DEPT_ID DNAME LOCATION_EMP_ID
100 HR 1001 10
200 SALES 1002 20
, DEPARTMENTS B 300 MARKETTI 1003 80
400 ADMIN 1004 40
T_ID =B.DEPT_ID 900 IT 1005 50
800 GLOBAL NULL 60
NULL NULL 1006 70

LEFTOUTER JOIN

INNER DEPARTMENTS B

T_ID =B.DEPT_ID
EMPLOYEES A
EMPLOYEE_ID FIRST_NAME LAST_NAME EMAIL PHONE_NUMBER HIRE_DATE JOB_ID
100 Steven King SKING 515.123.4567 6/17/1987 AD_PRES
101 Neena Kochhar NKOCHHAR 515.123.4568 9/21/1989 AD_VP
102 Lex De Haan LDEHAAN 515.123.4569 1/13/1993 AD_VP
103 Alexander Hunold AHUNOLD 590.423.4567 1/3/1990 IT_PROG
104 Bruce Ernst BERNST 590.423.4568 5/21/1991 IT_PROG
105 David Austin DAUSTIN 590.423.4569 6/25/1997 IT_PROG
106 Valli Pataballa VPATABAL 590.423.4560 2/5/1998 IT_PROG
107 Diana Lorentz DLORENTZ 590.423.5567 2/7/1999 IT_PROG
108 Nancy Greenberg NGREENBE 515.124.4569 8/17/1994 FI_MGR
109 Daniel Faviet DFAVIET 515.124.4169 8/16/1994 FI_ACCOUNT

SELECT A.FIRST_NAME ,A.EMAIL , A.SALARY,B.MIN_SALARY ,B.MAX_SALARY


FROM EMPLOYEES A , JOBS B
WHERE A.SALARY BETWEEN B.MIN_SALARY AND B.MAX_SALARY
JOBS B
SALARY COMMIS
MANAGERDEPARTMENT_ID JOB_ID JOB_TITLE MIN_SALA
24000 90 AD_PRES President 20000
17000 100 90 AD_VP Administrat 15000
17000 100 90 AD_ASST Administrat 3000
9000 102 60 FI_MGR Finance M 8200
6000 103 60 FI_ACCOUNT Accountan 4200
4800 103 60 AC_MGR Accountin 8200
4800 103 60 AC_ACCOUNT Public Acc 4200
4200 103 60 SA_MAN Sales Mana 10000
12000 101 100 SA_REP Sales Repr 6000
9000 108 100

I WANT ALL THE SALARIES FROM EMPLOYEES WHICH ARE FALLING IN BETWEEN
MIN AND MAX SALARIES OF JOBS TABLE.
MAX_SALARY
40000
30000
6000
16000
9000
16000
9000
20000
12000

You might also like