MySql multi-table query only provides inner joins, left outer joins and right outer joins:
table_reference {[INNER] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr
SELECT * FROM emp e JOIN dept d ON e.deptno=d.deptno;
Both left outer join and right outer join will use one table as the base table, all the contents of the table will be displayed, and then the matching contents of the two tables will be added.
If the data in the base table is not recorded in another table.
Then the column in the associated result set row displays a null value (NULL).
SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno;##2.2. Right outer join: display all records of the right table
SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;
UNION
The UNION operator is used to combine the result sets of two or more SELECT statements. Note: By default, the UNION operator selects different values. If duplicate values are allowed, use UNION ALL. Therefore, you can use full outer join:SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno UNION SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;Note: The above connections are all equivalent joins; in Oracle, you can use full join for full outer join; Please don't get confused.
The above is the detailed content of How to implement full external connection in Mysql. For more information, please follow other related articles on the PHP Chinese website!