我正在学习sql,我遇到了存在的情况。我清楚地知道的是,存在对子查询结果的检查,如果结果为TRUE,则外部查询运行,如果为false,则外部查询不运行。 但我无法理解where子句如何适用于所有这些以及它如何与外部查询相关。 还请向我解释在现有条件检查为TRUE后究竟发生了什么。
答案 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中将它们关联起来。
如果该班级中没有学生,则外部查询将不会返回该班级。