0% found this document useful (0 votes)
18 views8 pages

Joins

The document explains SQL Join statements used to combine data from multiple tables based on common fields, detailing four types: INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN. It provides examples of each join type using 'student' and 'course' tables, along with their respective SQL syntax. Additionally, it includes a section on SELF JOIN with an example using an 'employee' table.

Uploaded by

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

Joins

The document explains SQL Join statements used to combine data from multiple tables based on common fields, detailing four types: INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL JOIN. It provides examples of each join type using 'student' and 'course' tables, along with their respective SQL syntax. Additionally, it includes a section on SELF JOIN with an example using an 'employee' table.

Uploaded by

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

A SQL Join statement is used to combine data or rows from two or more

tables based on a common field between them. Different types of Joins are:
 INNER JOIN
 LEFT JOIN
 RIGHT JOIN
 FULL JOIN
Consider the two tables below:

Student table:
Create table student (sid int primary key ,name varchar(20),address
varchar(20),age int);
insert into student values(1,'ram','hyd',20),(2,'ravi','chennai',20),
(3,'kiran','pune',20),(4,'giri','hyd',20),(5,'sai','hyd',20);
select * from student;

Course Table:
Create table course (cid int primary key,cname varchar(20),startdate date,sid
int references student(sid));
insert into course values(101,'java','2021/07/05',1);
insert into course values(102,'mysql','2021/07/05',2);
insert into course values(103,'oracle','2021/07/05',1);
insert into course values(104,'spring','2021/07/05',3);
insert into course values(105,'aws','2021/07/05',null);
insert into course values(106,'docker','2021/07/05',null);
select * from course;
# INNER JOIN
select s.sid,s.name,s.address,s.age,c.cid,c.cname,c.startdate from student s
inner join course c on s.sid=c.sid;

#LEFT OUTER JOIN


select s.sid,s.name,s.address,s.age,c.cid,c.cname,c.startdate from student s
left outer join course c on s.sid=c.sid;

#RIGHT OUTER JOIN


select s.sid,s.name,s.address,s.age,c.cid,c.cname,c.startdate from student s
right outer join course c on s.sid=c.sid;

# FULL OUTER JOIN


select s.sid,s.name,s.address,s.age,c.cid,c.cname,c.startdate from student s
left outer join course c on s.sid=c.sid
union
select s.sid,s.name,s.address,s.age,c.cid,c.cname,c.startdate from student s
right outer join course c on s.sid=c.sid;

The simplest Join is INNER JOIN.


1. INNER JOIN: The INNER JOIN keyword selects all rows from both the
tables as long as the condition satisfies. This keyword will create the
result-set by combining all rows from both the tables where the condition
satisfies i.e value of the common field will be same.
Syntax:
2. SELECT table1.column1,table1.column2,table2.column1,....
3. FROM table1
4. INNER JOIN table2
5. ON table1.matching_column = table2.matching_column;
6.
7.
8. table1: First table.
9. table2: Second table
10. matching_column: Column common to both the tables.
Note: We can also write JOIN instead of INNER JOIN. JOIN is same as
INNER JOIN.

Example Queries(INNER JOIN)


 This query will show the names and age of students enrolled in
different courses.
 SELECT StudentCourse.COURSE_ID, Student.NAME,
Student.AGE FROM Student
 INNER JOIN StudentCourse
 ON Student.ROLL_NO = StudentCourse.ROLL_NO;
Output:

11. LEFT JOIN: This join returns all the rows of the table on the left side of
the join and matching rows for the table on the right side of join. The rows
for which there is no matching row on right side, the result-set will
contain null. LEFT JOIN is also known as LEFT OUTER JOIN.Syntax:
12. SELECT table1.column1,table1.column2,table2.column1,....
13. FROM table1
14. LEFT JOIN table2
15. ON table1.matching_column = table2.matching_column;
16.
17.
18. table1: First table.
19. table2: Second table
20. matching_column: Column common to both the tables.
Note: We can also use LEFT OUTER JOIN instead of LEFT JOIN, both
are same.

Example Queries(LEFT JOIN):


SELECT Student.NAME,StudentCourse.COURSE_ID
FROM Student
LEFT JOIN StudentCourse
ON StudentCourse.ROLL_NO = Student.ROLL_NO;
Output:
21. RIGHT JOIN: RIGHT JOIN is similar to LEFT JOIN. This join returns
all the rows of the table on the right side of the join and matching rows for
the table on the left side of join. The rows for which there is no matching
row on left side, the result-set will contain null. RIGHT JOIN is also known
as RIGHT OUTER JOIN.Syntax:
22. SELECT table1.column1,table1.column2,table2.column1,....
23. FROM table1
24. RIGHT JOIN table2
25. ON table1.matching_column = table2.matching_column;
26.
27.
28. table1: First table.
29. table2: Second table
30. matching_column: Column common to both the tables.
Note: We can also use RIGHT OUTER JOIN instead of RIGHT JOIN,
both are same.

Example Queries(RIGHT JOIN):


SELECT Student.NAME,StudentCourse.COURSE_ID
FROM Student
RIGHT JOIN StudentCourse
ON StudentCourse.ROLL_NO = Student.ROLL_NO;
Output:

31. FULL JOIN: FULL JOIN creates the result-set by combining result of
both LEFT JOIN and RIGHT JOIN. The result-set will contain all the rows
from both the tables. The rows for which there is no matching, the result-
set will contain NULL values.Syntax:
32. SELECT table1.column1,table1.column2,table2.column1,....
33. FROM table1
34. FULL JOIN table2
35. ON table1.matching_column = table2.matching_column;
36.
37.
38. table1: First table.
39. table2: Second table
40. matching_column: Column common to both the tables.

Example Queries(FULL JOIN):


SELECT Student.NAME,StudentCourse.COURSE_ID
FROM Student
FULL JOIN StudentCourse
ON StudentCourse.ROLL_NO = Student.ROLL_NO;
Output:

SELF JOIN:

create table employee(eid int, ename varchar(20) , mid int);

insert into employee values(1,'ram',1),(2,'kiran',1),(3,'ravi',1),(4,'smitha',2),(5,'sir',3),(6,'ramesh',2);

select * from employee;

select a.eid ManagerID , a.ename ManagerName ,b.ename Emplyee

from employee a

join employee b
on a.eid=b.mid;

You might also like