php mysql mysql joins
TRANSCRIPT
MySQL Joins OverviewMySQL Joins Overview MySQL Join is used to join the records from two MySQL Join is used to join the records from two
tables using join clause.tables using join clause.
The Join Clause return you the set of records from The Join Clause return you the set of records from both table on the basis of common column.both table on the basis of common column.
MySQL Join TypesMySQL Join Types MySQLMySQL Inner JoinInner Join MySQL Equi JoinMySQL Equi Join MySQL Natural JoinMySQL Natural Join MySQL Cross JoinMySQL Cross Join MySQL Outer JoinMySQL Outer Join
Left Outer JoinLeft Outer Join Right Outer JoinRight Outer Join
Self JoinSelf Join
Inner joinInner join produces only the set of records that produces only the set of records that match in both Table A and Table B.match in both Table A and Table B.
MySQL Inner JoinMySQL Inner Join
The INNER JOIN keyword returns rows when there The INNER JOIN keyword returns rows when there is at least one match in both tables.is at least one match in both tables.
If there are rows in "Persons" that do not have If there are rows in "Persons" that do not have matches in "Orders", those rows will NOT be listed.matches in "Orders", those rows will NOT be listed.
Example:Example: SELECT Persons.LastName, SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoPersons.FirstName, Orders.OrderNoFROM Persons INNER JOIN OrdersFROM Persons INNER JOIN OrdersON Persons.P_Id = Orders.P_IdON Persons.P_Id = Orders.P_IdORDER BY Persons.LastNameORDER BY Persons.LastName
(Contd:)MySQL Inner JoinMySQL Inner Join
MySQL Outer JoinMySQL Outer Join MySQL Outer Join return you the set of all matching MySQL Outer Join return you the set of all matching
records from both table. records from both table. The Outer Join does not requires each records to be The Outer Join does not requires each records to be
matched in both the tables.matched in both the tables. MySQL Outer Join is categorized into two groups.MySQL Outer Join is categorized into two groups.
MySQL Left Outer JoinMySQL Left Outer Join MySQL Right Outer JoinMySQL Right Outer Join
MySQL Left Outer JoinMySQL Left Outer Join Left outer joinLeft outer join produces a complete set of records produces a complete set of records
from Table A, with the matching records (where from Table A, with the matching records (where available) in Table B. If there is no match, the right side available) in Table B. If there is no match, the right side will contain null.will contain null.
MySQL Left Outer JoinMySQL Left Outer Join The left join is used in case of need to return all rows The left join is used in case of need to return all rows
from the left table, even if the right table doesn't have from the left table, even if the right table doesn't have any match.any match.
Example:Example: SELECT Persons.LastName, SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoPersons.FirstName, Orders.OrderNoFROM Persons LEFT JOIN OrdersFROM Persons LEFT JOIN OrdersON Persons.P_Id=Orders.P_IdON Persons.P_Id=Orders.P_IdORDER BY Persons.LastNameORDER BY Persons.LastName
(Contd:)
MySQL Right Outer JoinMySQL Right Outer Join The right join is used in case of need to return all The right join is used in case of need to return all
rows from the right table, even if the left table rows from the right table, even if the left table doesn't have any match.doesn't have any match.
Example:Example: SELECT Persons.LastName,Persons.FirstName, SELECT Persons.LastName,Persons.FirstName, Orders.OrderNoOrders.OrderNoFROM Persons RIGHT JOIN OrdersFROM Persons RIGHT JOIN OrdersON Persons.P_Id = Orders.P_IdON Persons.P_Id = Orders.P_IdORDER BY Persons.LastNameORDER BY Persons.LastName
MySQL Cross JoinMySQL Cross Join Cross Join is also called Cartesian Product Join.Cross Join is also called Cartesian Product Join. The Cross Join in SQL return you a result table in The Cross Join in SQL return you a result table in
which each row from the first table is combined with which each row from the first table is combined with each rows from the second table.each rows from the second table.
MySQL Cross JoinMySQL Cross Join In other words, you can say it is the cross In other words, you can say it is the cross
multiplication of number of rows in each table.multiplication of number of rows in each table.
Example:Example: SELECT * FROM persons cross join orders;SELECT * FROM persons cross join orders;
(Contd:)
MySQL Equi JoinMySQL Equi Join Equi Join is a classified type of Inner Join in Mysql.Equi Join is a classified type of Inner Join in Mysql. Equi Join is used to combine records from two table Equi Join is used to combine records from two table
based on the common column exists in both table.based on the common column exists in both table. The Equi Join returns you only those records which The Equi Join returns you only those records which
are available in both table on the basis of common are available in both table on the basis of common primary field name.primary field name.
Example:Example: SELECT persons.firstname,orders.orderNo SELECT persons.firstname,orders.orderNo
FROM persons, ordersFROM persons, orders
WHERE persons.p_id = orders.p_id;WHERE persons.p_id = orders.p_id;
MySQL Natural JoinMySQL Natural Join MySQL Natural Join is a specialization of equi-joins.MySQL Natural Join is a specialization of equi-joins. The join compares all columns in both tables that The join compares all columns in both tables that
have the same column-name in both tables that have have the same column-name in both tables that have column name in the joined table.column name in the joined table.
Example:Example: SELECT persons.firstname, orders.orderNoSELECT persons.firstname, orders.orderNo
FROM persons NATURAL JOIN orders;FROM persons NATURAL JOIN orders;
MySQL Self JoinMySQL Self Join These join allow you to retrieve related records These join allow you to retrieve related records
from the same table. from the same table. The most common case where you'd use a self-join is The most common case where you'd use a self-join is
when you have a table that references itself.when you have a table that references itself.
Example:Example: SELECT m.name as "Manager", p.name as SELECT m.name as "Manager", p.name as "Employee“"Employee“
FROM employee m, employee pFROM employee m, employee p
WHERE m.emp_id = p.manager_id;WHERE m.emp_id = p.manager_id;