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  

查询结果:

3.完全外连接(full join 或 full outer join)

完全外连接,查询的结果集包括SQL语句中左表和右表的所有行。如果某行在另一个表中没有匹配行时,则用空值表示。

查询语句:

 select * from T_Person full join T_Card on T_Person.CardId = T_Card.CardId  

查询结果:

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值