MySQL_多表链接查询

版权声明:由于作者水平有限,文中难免有误,欢迎各位业界同仁斧正! https://blog.csdn.net/UserPython/article/details/82934422

多表链接查询的介绍

多表链接查询时从多个表中获取数据

  • 多表连接的语法结构

table_reference
[INNER] JOIN | {LEFT | RIGHT} [OUTER] JOIN
table_reference
ON conditional_expr

内连接

根据连接条件从多个表中查询选择数据,显示这些表中与连接条件匹配的数据行,组合成新纪录
内连接的语法结构

SELECT column_list
FROM t1
[INNER] JOIN t2 ON join_condition1
[INNER] JOIN t3 ON join_condition2
… ]
WHERE where_conditions;

在这里插入图片描述

外链接

  • 外连接将查询多个表中相关联的行
  • 外连接分为:
  • 左外连接LEFT [OUTER] JOIN
  • 右外连接RIGHT [OUTER] JOIN

左外连接

  • 显示左表全部记录,右表满足连接条件的记录

右外连接

  • 显示右表全部记录,左表满足连接条件的记录

语法结构

SELECT column_list
FROM t1
LEFT | RIGHT [OUTER] JOIN t2 ON join_conditin1;

在这里插入图片描述

自连接

如果在一个连接查询中,涉及的两个表都是同一个表,这种查询成为自连接查询
自连接是一种特殊的连接查询,它是指相互连接的表在物理上为同一张表,但可以在逻辑上分为两张表

在这里插入图片描述

多表更新

UPDATE
table1 {[INNER] JOIN | {LEFT | RIGHT}[OUTER] JOIN} table2
ON conditional_expr
SET col1 = {expr1 | DEFAULT}
[, col2 = {expr2 | DEFAULT}]…
[WHERE where_condition]

在这里插入图片描述

多表删除

DELETE table1[.* ], table2[.*]
FROM table1 {[INNER] JOIN | {LEFT | RIGHT}[OUTER] JOIN} table2
ON conditional_expr
[WHERE where_condition]

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/UserPython/article/details/82934422