joins_04-05-2023
joins_04-05-2023
joins_04-05-2023
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
DNAME LOCAITON
HR BANGALORE
SALES CHENNAI
MARKETTING DELHI
ADMIN HYDERBAD
IT KOCHI
NON-IT KOLKATA
FINANCE VIZAG
ENGINEERING GOA
RECOVERY PATNA
NULL NULL
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
I WANT ALL THE COUNTY NAMES , WHICH ARE HAVING REGIONS AND ALSO WHICH ARE NOT HAVING CREGIONS
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
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
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
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
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
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
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