MySQL Tutorial
A FULL JOIN returns all the rows from the joined tables, whether they are matched or not
FULL OUTER JOIN can potentially return very large result-sets!.
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
We've a table named Students and Teachers in our database that contains the following records:
ROLL_NO | STU_NAME | SUBJECT |
---|---|---|
1 | Will | C++ |
2 | SAM | Python |
3 | Rani | Node.js | 4 | Rim | Java |
5 | Micheal | JAVA |
6 | Lara | PHP |
TECH_NO | TECH_NAME | SUBJECT | ROLL_NO |
---|---|---|---|
20 | Kayla | PHP | 6 |
21 | Albert | Java | 4 |
21 | Albert | Java | 5 |
22 | Helen | Node.js | 3 | 23 | Anne | Python | 2 |
24 | Jaime | C++ | 1 |
The following MySQL statement will select all Students, and all Teachers :
SELECT Students.ROLL_NO, Students.NAME,Teachers.TECH_NO
FROM Students
FULL OUTER JOIN Teachers ON Students.ROLL_NO=Teachers.TECH_NO
ORDER BY Students.NAME;
Now, after executing the above MySQL statement,
ROLL_NO | STU_NAME | TECH_NO |
---|---|---|
6 | Lara | 20 |
6 | Lara | 20 |
5 | Micheal | 21 |
5 | Micheal | 21 |
4 | Rim | 21 |
4 | Rim | 21 |
3 | Rani | 22 |
3 | Rani | 22 |
2 | Sam | 23 |
2 | Sam | 23 |
1 | Will | 24 |