返回介绍

6 关联子查询

发布于 2025-02-20 13:00:30 字数 1769 浏览 0 评论 0 收藏 0

在查询或维护的查询中,都有可能会使用子查询来提供执行叙述所需要的资料:

mysql_10_snap_44

在使用子查询的的时候,通常不会跟外层查询有直接的关系,也就是子查询不会使用外层查询的资料;不过遇到一些比较特殊的需求时,在“WHERE”或“HAVING”子句中的子查询,也需要使用外层查询的资料来执行判断的工作,这样的叙述称为“关联子查询、correlated subqueries”:

mysql_10_snap_45

在“WHERE”或“HAVING”子句中用来设定条件的子查询,可以依照需求使用像“IN”、“ANY”这些运算子来判断条件是否符合。除了上列以经讨论的比较运算子外,还有一个“EXISTS”运算子:

mysql_10_snap_51

“EXISTS”运算子判断条件是否成立的依据比较不一样,如果子查询有任何纪录资料回传,条件就算成立:

mysql_10_snap_52

“EXISTS”运算子通常会在使用关联子查询中:

mysql_10_snap_53

“EXISTS”与“NOT”一起使用时,就可以完成下列的查询需求:

mysql_10_snap_54

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文