题解 | #确定哪些订单购买了 prod_id 为 BR01 的产品(一)#

确定哪些订单购买了 prod_id 为 BR01 的产品(一)

http://www.nowcoder.com/practice/b692b0174c0444fa9452aee2d082fbbb

自己写的几种加上各位牛友写的一些整理了一下, 供大家参考:

  1. where版本
select cust_id, order_date
from Orders o, OrderItems oi
where prod_id = 'BR01' and o.order_num = oi.order_num
order by order_date
  1. 子查询版本
  select cust_id, order_date from Orders
  where order_num in (
      select order_num from OrderItems
      where prod_id = 'BR01'
  )
  order by order_date;
  1. 左连接版本
select
  cust_id,
  order_date
from
  Orders o
  LEFT JOIN OrderItems oi ON o.order_num = oi.order_num
where
  prod_id = 'BR01'
order by
  order_date;
  1. 自然连接版本
select
  cust_id,
  order_date
from
  Orders
  NATURAL JOIN OrderItems
where prod_id = 'BR01'
order by  order_date;
  1. 内连接 类似where
select
  cust_id,
  order_date
from
  Orders o
  inner JOIN OrderItems oi
on o.order_num = oi.order_num and  prod_id = 'BR01'
order by order_date;
  1. join using 类似自然连接
select
 cust_id,
 order_date
from
 Orders
 # 相当于自然连接对相同的列进行连接
 join OrderItems using(order_num)
where
 prod_id = 'BR01'
order by
 order_date;
全部评论
本来写不出来就很难受,看你写那么多更难受了
8 回复 分享
发布于 2022-11-08 16:02 上海
第二种通过不了
点赞 回复 分享
发布于 2024-06-30 16:50 浙江
太棒了
点赞 回复 分享
发布于 2024-06-18 21:25 河北
烙铁 你配享太庙
点赞 回复 分享
发布于 2023-09-16 12:40 湖南
千言万语 不抵一句你厉害
点赞 回复 分享
发布于 2023-06-20 17:14 北京
点赞 回复 分享
发布于 2023-04-13 21:36 美国
太优秀了
点赞 回复 分享
发布于 2023-02-13 20:32 河南
哪种效率更高呢?
点赞 回复 分享
发布于 2022-08-25 11:14 四川
点赞 回复 分享
发布于 2022-08-12 13:09

相关推荐

昨天 16:52
已编辑
门头沟学院 Java
周五投的,流程今天结束
投递地平线等公司7个岗位
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
爱睡觉的冰箱哥:学历不够啊兄弟,分析师都是9硕✌🏻咱搞不过他们滴
点赞 评论 收藏
分享
评论
293
44
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务