有如下SQL查询

Postgre.J 2003-08-17 04:35:27
有如下SQL查询:
select a.user_name from data_user a,sys_user_type b where b.user_type=1001 and a.user_type=b.user_type
如果这个SQL查询用
select user_name from data_user where user_type=(select user_type from sys_user_type where user_type=1001)
请问:这两种写法那一种的效率更高?为什么?
谢谢.
...全文
27 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
97866 2003-08-17
  • 打赏
  • 举报
回复
第一个。

在 Transact-SQL 中,包括子查询的语句和不包括子查询但语义上等效的语句在性能方面通常没有区别。但是,在一些必须检查存在性的情况中,使用联接会产生更好的性能。否则,为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询。所以在这些情况下,联接方式会产生更好的效果。
lynx1111 2003-08-17
  • 打赏
  • 举报
回复
吧这两个查询考到查询分析器,F5,ctrl+l
一目了然!

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧