SQL中的左、右、内、全连接

左连接,右连接,内连接,全连接

先上结论:

左连接(left join):以左表为准,每关联到一条便多一条记录
右连接(right join):以右表为准,每关联到一条便多一条记录
内连接(inner join):只显示能关联到的记录
全连接(full join):关联不到的也显示记录

例如:
左表6条(1条关联不到右表)
右表17条(5条关联不到左表)

左连接条数:max(6-1,17-5)+1 = 13
右连接条数:max(6-1,17-5)+5 = 17
内连接条数:max(6-1,17-5) = 12
全连接条数:max(6-1,17-5)+1+5 = 18

注意: select * from t1,t2写法

以t1表3条记录,t2表4条记录,t3表2条记录为例,


select * from t1,t2
-- 返回条数3*4=12条,t1表的每一条记录对应t2表的4条记录

select * from t1,t2 where t1.字段=t2.字段
-- 相当于 select * from t1 inner join t2 on t1.字段=t2.字段

select * from t1,t2,t3
-- 返回条数3*4*2=24条

select * from t1,t2,t3 where t1.字段=t2.字段 and t1.字段=t3.字段
-- 相当于 select * from t1 inner join t2 on t1.字段=t2.字段 inner join t3 on t1.字段=t3.字段

猜你喜欢

转载自blog.csdn.net/qq_33218097/article/details/114028829
今日推荐