where子句在查询中使用存在条件的作用?

时间:2013-11-24 16:13:53

标签: mysql sql sql-server database

我正在学习sql,我遇到了存在的情况。我清楚地知道的是,存在对子查询结果的检查,如果结果为TRUE,则外部查询运行,如果为false,则外部查询不运行。 但我无法理解where子句如何适用于所有这些以及它如何与外部查询相关。 还请向我解释在现有条件检查为TRUE后究竟发生了什么。

1 个答案:

答案 0 :(得分:0)

以下是EXISTS如何与外部查询相关的示例:

SELECT *
FROM classes a
WHERE EXISTS (
    SELECT 1
    FROM student b
    WHERE b.a_id = a.id  -- Here you relate inner query with outside query
    )

您希望在表类中至少有一条记录的类中获取记录,其中表类中包含id的外键。

您可以在内部查询的WHERE中将它们关联起来。

如果该班级中没有学生,则外部查询将不会返回该班级。