Foxtable(狐表)用户栏目专家坐堂 → Select 语句的问题


  共有2592人关注过本帖树形打印复制链接

主题:Select 语句的问题

帅哥哟,离线,有人找我吗?
HappyFt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1911 积分:17026 威望:0 精华:0 注册:2014/7/29 19:09:00
Select 语句的问题  发帖心情 Post By:2014/12/14 22:56:00 [只看该作者]

 

Select * from 订单 where (订单编号 In (Select distinct 订单编号 from 订单 where 订单类别= '库存订单' And 订单编号>= '1' And 客户 like 'A%') Or 订单编号 In (Select distinct 订单编号 from 订单明细 where 产品编码= 'A-001' And 类别= 'B'))

 

上述语句用了or是否效率会低呢,如果后面的两个查询中查询出来的唯一订单编号有重复的情况,能否将后面两个select语句先查询得到的订单编号先组合在一起这样效率更高?

下面这种写法正确吗?是否更高效?

Select * from 订单 where 订单编号 In (Select distinct 订单编号 from 订单 where 订单类别= '库存订单' And 订单编号>= '1' And 客户 like 'A%' Union Select distinct 订单编号 from 订单明细 where 产品编码= 'A-001' And 类别= 'B')

 

谢谢!

[此贴子已经被作者于2014-12-14 22:59:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/14 23:11:00 [只看该作者]

 差不多。当然下面这个会更好一些。

 回到顶部