关键字为In的SQL嵌套子查询

关键字为In的SQL嵌套子查询,sql,Sql,在上面的SQL代码中,嵌套子查询是否首先通过选择节关系中的元组来运行,这些元组具有sement=Spring和year=2010?然后,在运行主select语句时:selectdistinct course\u id它将首先选择具有seurm=Fall和year=2009的元组,但还将检查course\u id是否存在于之前在嵌套子查询中创建的关系中?这取决于您的RDBMS、索引和,你的数据大小,数据库有多坏,以及你所在城市过去12个月的平均累积降雨量。大多数RDBMS都内置了EXPLAIN。将

在上面的SQL代码中,嵌套子查询是否首先通过选择节关系中的元组来运行,这些元组具有
sement=Spring
year=2010
?然后,在运行主select语句时:
selectdistinct course\u id
它将首先选择具有
seurm=Fall
year=2009
的元组,但还将检查
course\u id
是否存在于之前在嵌套子查询中创建的关系中?

这取决于您的RDBMS、索引和,你的数据大小,数据库有多坏,以及你所在城市过去12个月的平均累积降雨量。大多数RDBMS都内置了
EXPLAIN
。将单词
EXPLAIN
粘贴在查询前面,它应该会告诉您它的执行路径。如果您正在谈论MS SQL,请使用“包含实际执行计划”(在SQL编辑器工具栏上)选项运行查询,您将看到以什么顺序发生的确切情况OK lol。我现在明白了要点。我会试试的。谢谢
select distinct course_id
from section
where semester = ’Fall’ and year= 2009 and
    course_id in (select course_id
                  from section
                  where semester = ’Spring’ and year= 2010);