SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。

JOIN 按照功能大致分为如下三类:

INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。

LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。

RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

现有两张表:

tcount_tbl表

数据:

runoob_author runoob_count
菜鸟教程 10
RUNOOB.COM 20
Google 22

 

runoob_tbl表

数据:

runoob_id runoob_title runoob_author submission_date
1 学习 PHP 菜鸟教程 2017-04-12
2 学习 MySQL 菜鸟教程 2017-04-12
3 学习 Java RUNOOB.COM 2015-05-01
4 学习 Python RUNOOB.COM 2016-03-06
5 学习 C FK 2017-04-05

1.INNER JOIN(也可以省略 INNER 使用 JOIN,效果一样)来连接以上两张表来读取runoob_tbl表中所有runoob_author字段在tcount_tbl表对应的runoob_count字段值:

mysql连接使用

INNER JOIN示意图:

mysql连接使用

2.LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。

以 runoob_tbl 为左表,tcount_tbl 为右表,理解 MySQL LEFT JOIN 的应用:

mysql连接使用

3.RIGHT JOIN 会读取右边数据表的全部数据,即便左边边表无对应数据。

以 runoob_tbl 为左表,tcount_tbl 为右表,理解MySQL RIGHT JOIN的应用:

mysql连接使用

相关文章: