SQL常⽤连接查询(JOIN)
⼀、连接查询分类:
1.交叉连接(不常⽤):
返回被连接的两个表所有数据⾏的;
返回到结果中的数据⾏数等于第⼀个表中符合查询条件的数据⾏数乘以第⼆个表中符合查 询条件的数据⾏数。
2.内连接:
inner join 或 join
3.外连接
左外连接:left join 或 left outer join
右外连接:right join 或 right outer join
完全外连接:full join 或 full outer join
⼆、连接查询实例:
数据库中有两张表,⼀张⼈员(T_Person)表、⼀张卡(T_Card)表
内连接
1.内连接(inner join 或 join)
内连接是等值连接,它使⽤“=、>、<、<>”等运算符根据每个表共有的列的值匹配两个表中的⾏
查询语句:
select * from T_Person inner join T_Card on T_Person.CardId = T_Card.CardId
查询结果:
外连接
1.左连接(left join 或 left outer join)
左连接⼜称左向外连接,查询的结果集包括SQL语句中左表的所有⾏,右表中匹配的⾏。如果左表的某⾏在右表中没有匹配⾏,则⽤空值表⽰
查询语句:
select * from T_Person left join T_Card on T_Person.CardId = T_Card.CardId
查询结果:
2.右连接(right join 或 right outer join)
右连接也成右向外连接,查询的结果集包括SQL语句中右表的所有⾏,左表中匹配的⾏。如果右表的某⾏在左表中没有匹配的⾏,则⽤空值表⽰
查询语句:
select * from T_Person right join T_Card on T_Person.CardId = T_Card.CardId
sql left join 多表连接
查询结果:
3.完全外连接(full join 或 full outer join)
完全外连接,查询的结果集包括SQL语句中左表和右表的所有⾏。如果某⾏在另⼀个表中没有匹配⾏时,则⽤空值表⽰。
查询语句:
select * from T_Person full join T_Card on T_Person.CardId = T_Card.CardId
查询结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。