连接查询用于多表关联查询,连接方式不同,查询重点不同。
内连接
-
作用:查询多表之间交集部分数据
-
关键词:
inner join
-
可简写为:
join
,即inner join = join
-
图示:
左外连接
-
作用:表 A 左连接表 B,以左表 A 为主查询,关联查询表 B,查询左表 A 所有数据,以及表 A 和表 B 交集部分数据。
-
关键词:
left outer join
-
可简写为:
left join
,即left outer join = left join
-
图示:
右外连接
-
作用:表 A 右连接表 B,以右表 B 为主查询,关联查询表 A,查询右表 B 所有数据,以及表 A 和表 B 交集部分数据。
-
关键词:
right outer join
-
可简写为:
right join
,即right outer join = right join
-
图示:
全连接
mysql 不支持 full join ,用 union 代替。
-
作用:联合查询,数据拼接
-
关键词:
union
(忽略重复值) 或union all
(不忽略重复值) -
图示:
-
SQL 示例:
-- 忽略重复值 SELECT column_name FROM table1 UNION SELECT column_name FROM table2 -- 不忽略重复值 SELECT column_name FROM table1 UNION ALL SELECT column_name FROM table2