多表链接查询的介绍
多表链接查询时从多个表中获取数据
- 多表连接的语法结构
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]