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

2 篇文章 0 订阅

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

先上结论:

左连接(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.字段
-- inner join称为显式内连接,交叉连接的写法称为隐式内连接

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.字段
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL的连接(Join)用于将两个或多个表数据关联起来,以便于查询数据。常见的连接类型包括连接、连接、内连接和外连接。 1. 连接(Left Join):连接返回所有的数据记录,以及所有和表匹配的数据记录。如果没有匹配的数据记录,则返回 NULL。连接使用 "LEFT JOIN" 或 "LEFT OUTER JOIN" 关键字实现。 2. 连接(Right Join):连接返回所有的数据记录,以及所有和表匹配的数据记录。如果没有匹配的数据记录,则返回 NULL。连接使用 "RIGHT JOIN" 或 "RIGHT OUTER JOIN" 关键字实现。 3. 内连接(Inner Join):内连接只返回两表都匹配的数据记录。内连接使用 "INNER JOIN" 或 "JOIN" 关键字实现。 4. 外连接(Outer Join):外连接分为外连接和外连接,外连接返回所有的数据记录,以及所有和表匹配的数据记录,如果没有匹配的数据记录,则返回 NULL;外连接返回所有的数据记录,以及所有和表匹配的数据记录,如果没有匹配的数据记录,则返回 NULL。外连接使用 "FULL OUTER JOIN" 或 "FULL JOIN" 关键字实现。 示例代码: ```sql -- 连接 SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column; -- 连接 SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column; -- 内连接 SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column; -- 外连接 SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.column = table2.column; -- 外连接 SELECT * FROM table1 RIGHT OUTER JOIN table2 ON table1.column = table2.column; -- 全外连接 SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column = table2.column; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值