joins and unions
TRANSCRIPT
Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring PartnerBaabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
JOINS & UNIONS IN MYSQL
ARUN KUMAR K [email protected]/
Arunkumar3040twitter.com/ arunkumar3040in.linkedin.com/in/ arunkumar+919496349799
JOIN• To query data from two or more tables, based on a relationship between
certain column in these tables.
• Tables in a database are often related to each other with keys.
• Primary key is a column (or a combination of columns) with a unique value for each row.
• Foreign Key in one table points to a Primary Key in another table.
Different JOINs in MySQL
INNER JOIN(JOIN):
Return rows when there is at least one match in both tables.
LEFT JOIN:
Return all rows from the left table, even if there are no matches
in the right table.
RIGHT JOIN:
Return all rows from the right table, even if there are no matches in the left table.
FULL JOIN:
Return rows when there is a match in one of the tables.
But It does not support in MySQL.
Tbl_dept
pk_dept_id
dept_name
1
CSE
2 ECE
3 EEE
4 CE
tbl_student
pk_student_id student_name student_place fk_dept_id
1 baabtra1 Calicut 1
2 baabtra2 cochin 2
3 baabtra3 Kannur 3
4 baabtra4 ooty 3
5 baabtra5 munnar 1
6 baabtra6 mlp NULL
INNER JOIN (JOIN)
• The INNER JOIN keyword returns rows when there is at least one match in both tables.
Syntax:
SELECT
column name(s) FROM
table_name1
INNER JOIN
table_name2 ON
table_name1.column_name=table_name2.column_name
Tbl_dept Tbl_student
INNER JOIN Example
student_name dept_name
baabtra1 CSE
baabtra5 CSE
baabtra2 ECE
baabtra3 EEE
baabtra4 EEE
SELECT tbl_student.student_name,tbl_dept.dept_nameFROM tbl_deptJOIN tbl_studentON tbl_dept.pk_dept_id = tbl_student.fk_dept_id;
LEFT JOIN• The LEFT JOIN keyword returns all rows from the left table (table_name1),
even if there are no matches in the right table (table_name2).
Syntax:
SELECT
column_name(s) FROM
table_name1 LEFT JOIN
table_name2 ON
table_name1.column_name=table_name2.column_name.
LEFT JOIN Example
SELECT tbl_student.student_name,tbl_dept.dept_name
FROM tbl_student
LEFT JOIN tbl_dept
ON tbl_dept.pk_dept_id = tbl_student.fk_dept_id;
Student_name Dept_name
Baabtra1 CSE
Baabtra2 ECE
Baabtra3 EEE
Baabtra4 EEE
Baabtra5 CSE
Baabtra6 NULL
RIGHT JOIN
• The RIGHT JOIN keyword returns all the rows from the right table (table_name2), even if there are no matches in the left table (table_name1).
Syntax:
SELECT
column_name(s) FROM
table_name1 RIGHT JOIN
table_name2 ON
table_name1.column_name=table_name2.column_name.
RIGHT JOIN Example
SELECT tbl_student.student_name,tbl_dept.dept_name
FROM tbl_student
RIGHT JOIN tbl_dept
ON tbl_dept.pk_dept_id = tbl_student.fk_dept_id;
student_name dept_name
Baabtra1 CSE
Baabtra5 CSE
Baabtra2 ECE
Baabtra3 EEE
Baabtra4 EEE
NULL CE
FULL JOIN
• There is no FULL JOIN in MySQL.
• We can possible this by using both LEFT and RIGHT Joins together with UNION key word.
Tbl_dep Tbl_student
UNION
• The UNION operator combines two or more SELECT statements.
• The UNION operator is used to combine the result-set of two or more SELECT statements.
• Each SELECT statement within the UNION must have the same number of columns.
• The columns must also have similar data types.
• The columns in each SELECT statement must be in the same order.
UNION Syntax
SELECT column _ name(s)
FROM Table_name1
UNION
SELECT column _ name(s)
FROM table_name2
• The column names in the result-set of a UNION are always equal to the column names in the first SELECT statement in the UNION.
SELECT tbl_dept.dept_name
FROM tbl_dept
UNION
SELECT tbl_student.student_name
FROM tbl_student;
dept_name
CSE
ECE
EEE
CE
Baabtra1
Baabtra2
Baabtra3
Baabtra4
Baabtra5
baabtra6
UNION ALL
• The UNION operator selects only distinct values by default. If you need to allow duplicate values, use UNION ALL.
Syntax
SELECT column_name (s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
UNION Example
SELECT tbl_student.student_name,tbl_dept.dept_name
FROM tbl_dept
LEFT JOIN tbl_student
ON tbl_dept.pk_dept_id = tbl_student.fk_dept_id
UNION
SELECT tbl_student.student_name,tbl_dept.dept_name
FROM tbl_dept
RIGHT JOIN tbl_student
ON tbl_dept.pk_dept_id = tbl_student.fk_dept_id;
Student_name Dept_name
Baabtra1 CSE
Baabtra5 CSE
Baabtra2 ECE
Baabtra3 EEE
Baabtra4 EEE
NULL CE
Baabtra6 NULL
UNION ALL Example
SELECT tbl_student.student_name,tbl_dept.dept_name
FROM tbl_dept
LEFT JOIN tbl_student
ON tbl_dept.pk_dept_id=tbl_student.fk_dept_id
UNION ALL
SELECT tbl_student.student_name,tbl_dept.dept_name
FROM tbl_dept
RIGHT JOIN tbl_student
ON tbl_dept.pk_dept_id=tbl_student.fk_dept_id;
Student_name Dept_name
Baabtra1 CSE
baabtra5 CSE
baabtra2 ECE
baabtra3 EEE
baabtra4 EEE
NULL CE
baabtra1 CSE
baabtra2 ECE
baabtra3 EEE
baabtra4 EEE
baabtra5 CSE
baabtra6 NULL
Questions…..
If this presentation helped you, please visit our page facebook.com/baabtra and like it.
Thanks in advance.
www.baabtra.com | www.massbaab.com |www.baabte.com
Contact Us