SQL语句的内连接,外连接,左连接,右连接,全连接详解例⼦SQL语句的内连接,外连接,左连接,右连接,全连接详解例⼦
1、关系:链接分为内连接,外连接;外连接⼜分为左连接、右连接和全连接
分别为
内连接:(Inner Join):参与表格以JOIN关键词连在⼀起, ON指定联结的条件
左连接(Left Outer Join):含有在左表格但⽆法在右表格⾥到对应的资料列
右连接(Right Outer Join):含有在右表格但⽆法在左表格⾥到对应的资料列
全连接(Full Outer Join):含有以上两种情况的资料列
注意::left outer join 与 left join 等价,⼀般写成left join
right outer join 与 right join等价,⼀般写成right join
2、具体实现例⼦
aa_test 表
aa_interest表
2.1 内连接(inner join)
内连接也称为等值连接,返回两张表都满⾜条件的部分。也就是满⾜where条件的值。sql left join 多表连接
SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot
FROM aa_test AS a
INNER JOIN aa_interest as b
on a.interest_id = b.id
2.2 外连接:左连接、右连接、全连接
左连接
结果中包含位于关键字LEFT OUTER JOIN左侧的表中的所有⾏,以及该关键字右侧的表中满⾜条件的⾏。。
SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot
FROM aa_test AS a
LEFT OUTER JOIN aa_interest as b
on a.interest_id = b.id
右连接
结果集中包含位于关键字RIGHT OUTER JOIN右侧的表中的所有⾏,以及该关键字左侧的表中满⾜条件的⾏。
SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot
FROM aa_test AS a
RIGHT OUTER JOIN aa_interest as b
on a.interest_id = b.id
全连接
结果中包含两个表中的所有⾏。
同理:
SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot
FROM aa_test AS a
FULL OUTER JOIN aa_interest as b
on a.interest_id = b.id
反思:从执⾏结果上来看,两张表 连接 相当于 两张表中的字段交叉连接,
join语句相当于对两张表做了乘法运算,把aa_test 表中的每⼀⾏记录按照顺序和aa_interest表中记录依次匹配附:再看⼀下sql中主要关键字的执⾏顺序:
rom
on
join
where
group by
having
select
distinct
union
order by
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论