开发者社区 问答 正文

sql中 IN和EXISTS子句有什么区别?

sql中 IN和EXISTS子句有什么区别?

展开
收起
lovelydong 2021-10-13 10:49:17 2883 分享
分享
版权
举报
2 条回答
写回答
取消 提交回答
  • in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in

    2021-10-22 11:04:37 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in

    2021-10-13 11:20:25 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答分类:
SQL
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等