MySQL 的多表查询语法可以使用 JOIN 关键字实现,常用的有以下几种类型:

  1. INNER JOIN(内连接)

语法:SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

说明:将 table1 和 table2 两个表中符合条件的行连接起来,只返回符合条件的行,即两个表中都存在的行。

  1. LEFT JOIN(左连接)

语法:SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;

说明:将 table1 和 table2 两个表中符合条件的行连接起来,返回 table1 中所有的行和符合条件的 table2 中的行,若 table2 中没有符合条件的行,则返回 NULL。

  1. RIGHT JOIN(右连接)

语法:SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;

说明:将 table1 和 table2 两个表中符合条件的行连接起来,返回 table2 中所有的行和符合条件的 table1 中的行,若 table1 中没有符合条件的行,则返回 NULL。

  1. FULL OUTER JOIN(全连接)

MySQL 不支持 FULL OUTER JOIN,但可以使用 UNION ALL 实现。

语法:SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column UNION ALL SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column WHERE table1.column IS NULL;

说明:将 table1 和 table2 两个表中所有的行连接起来,返回符合条件的行和不符合条件的行,若 table1 或 table2 中没有符合条件的行,则返回 NULL。

MySQL 多表查询语法详解 - INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL OUTER JOIN

原文地址: https://www.cveoy.top/t/topic/mSwP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录