sql:普通关联查询和 左连接右连接的区别

10 篇文章 0 订阅
3 篇文章 0 订阅

系列文章目录

普通关联查询和 左连接由连接的区别

最近发现一段sql 就是普通的关联查询,在项目需求中还挺实用的,我就在想为什么不用左连接/右连接之类的呢,以前不大多时候用左连接吗
实际上它们各有优势,根据需求来
我们的需求是
查询用户信息及用户购买的商品信息

Select
user.id,
user.username,
user.address,
orders.id orders_id,
orders.user_id,
orders.number,
orders.createtime,
orders.note,
orderdetail.id detail_id,
orderdetail.items_id,
orderdetail.items_num,
items.name items_name,
items.detail items_detail
FROM
USER,orders,orderdetail,items
WHERE user.id = orders.user_id
AND orders.id = orderdetail.orders_id
AND orderdetail.items_id = items.id
在这里插入图片描述
其实这样的关联查询就能很好的满足我们的需求:查询用户信息及用户购买的商品信息
我改成左连接之后再看看效果
Select
user.id,
user.username,
user.address,
orders.id orders_id,
orders.user_id,
orders.number,
orders.createtime,
orders.note,
orderdetail.id detail_id,
orderdetail.items_id,
orderdetail.items_num,
items.name items_name,
items.detail items_detail
FROM
USER left join orders on USER.id=orders.user_id
left join orderdetail on orders.id=orderdetail.orders_id
left join items on orderdetail.items_id= items.id
在这里插入图片描述
1、即左连接其实是以最左边的那张表为主表,会把最左边的那张表的所有数据全部显示出来,没有关联到的字段就显示为空
而关联查询只会把相关联的数据显示出来
(自己的总结)
2、要记住关联查询和连接查询的等式(连接查询就是join)比如这里的4张表 就是3个=,
同理可得,
2张表就是1个=
4张表就是3个=
所以是表数量-1 等式 这样的规律
也所以是表数量-1 left join 这样的规律

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值