joins and unions

26

Upload: baabtracom-no-1-supplier-of-quality-freshers

Post on 29-Jun-2015

141 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Joins and unions
Page 2: Joins and unions

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

Page 3: Joins and unions

JOINS & UNIONS IN MYSQL

ARUN KUMAR K [email protected]/

Arunkumar3040twitter.com/ arunkumar3040in.linkedin.com/in/ arunkumar+919496349799

Page 4: Joins and unions

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.

Page 5: Joins and unions

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.

Page 6: Joins and unions

Tbl_dept

pk_dept_id

dept_name

1

CSE

2 ECE

3 EEE

4 CE

Page 7: Joins and unions

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

Page 8: Joins and unions

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

Page 9: Joins and unions

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;

Page 10: Joins and unions

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.

Page 11: Joins and unions

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

Page 12: Joins and unions

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.

Page 13: Joins and unions

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

Page 14: Joins and unions

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

Page 15: Joins and unions

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.

Page 16: Joins and unions

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.

Page 17: Joins and unions

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

Page 18: Joins and unions

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

Page 19: Joins and unions

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;

Page 20: Joins and unions

Student_name Dept_name

Baabtra1 CSE

Baabtra5 CSE

Baabtra2 ECE

Baabtra3 EEE

Baabtra4 EEE

NULL CE

Baabtra6 NULL

Page 21: Joins and unions

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;

Page 22: Joins and unions

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

Page 23: Joins and unions

Questions…..

Page 24: Joins and unions
Page 25: Joins and unions

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

Page 26: Joins and unions

Contact Us