SQL 学习笔记
一、联表查询
- 内连接 :INNER JOIN table ON
- 左(外)连接 :LEFT JOIN table ON (left outer join on)
- 右((外)连接 :RIGHT JOIN table ON (right outer join on)
- 全连接:FULL JOIN table ON(
注:MYSQL暂不支持
)
(一)、内连接(INNER JOIN ON)
SELECT
*
FROM
article a
INNER JOIN category c ON a.category_id = c.id
说明:查询的是两张表的并集,结果只返回相关联的记录。
(二)、左(外)连接 (LEFT JOIN ON)
SELECT
*
FROM
article a
LEFT JOIN category c ON a.category_id = c.id
左连接全称为左外连接,是外连接的一种。结果会将左表(article a)所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。右表记录不足的地方均为NULL。
(三)、右(外)连接 (RIGHT JOIN ON)
SELECT
*
FROM
article a
RIGHT JOIN category c ON a.category_id = c.id
右连接全称为右外连接,是外连接的一种。结果会将右表(article a)所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。左表记录不足的地方均为NULL。
(四)、全连接 (FULL JOIN ON)
注:MYSQL暂不支持
# oralce
select * from a full join b on a.id = b.id
# mysql
select * from a left join b on a.id = b.id
union
select * from a right join b on a.id = b.id
全连接显示两侧表中所有满足检索条件的行。