Foxtable(狐表)用户栏目专家坐堂 → 这两个sql语句的效率哪个高?


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

主题:这两个sql语句的效率哪个高?

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


加好友 发短信
等级:八尾狐 帖子:1909 积分:16987 威望:0 精华:0 注册:2014/7/29 19:09:00
这两个sql语句的效率哪个高?  发帖心情 Post By:2019/4/19 12:03:00 [只看该作者]

SELECT  a.* ,(SELECT TOP 1 品名 FROM  产品编码 x WHERE a.产品编码 = x.产品编码) AS 品名 ,(SELECT TOP 1 规格 FROM  产品编码 x WHERE a.产品编码 = x.产品编码) AS 规格 FROM 采购单价 a

 SELECT  a.* ,x.品名,x.规格 FROM 采购单价 a LEFT JOIN 产品编码 x  ON a.产品编码 = x.产品编码

第一个用top 1 但这样引用两列以上时每一列都要单独用select top 1写,不能一次写,语句变得很长,而且多次select top1会不会影响效率?

产品编码表中没有重复的产品编码,都是唯一的,这样是不是下面那种效率更高?

谢谢!

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


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

 

连接查询 join 的效率更高。

 

比较效率,你可以在sqlserver工具那里测试,如 https://www.cnblogs.com/knowledgesea/p/3683505.html

 

或者 https://www.cnblogs.com/lyhabc/p/3187922.html

 


 回到顶部