数据库 SQL语句 子查询执行过程?

来源:百度知道 编辑:UC知道 时间:2024/05/18 21:18:36
是先执行子查询?还是先执行外部查询??还是分为多中情况来执行?谢谢!

子查询执行过程,可以用以下例子来说明:

语句如下:

select * from score where sid in (select sid from student where 班级='一班')

在sql语句中,数据库先执行的是括号中的部分,得出student表中一班学生的sid,然后再在score表中选出sid为一班id的哪些学生的详细内容。

在某些 Transact-SQL 语句中,子查询可以作为独立查询来计算。从概念上说,子查询结果会代入外部查询(尽管这不一定是 Microsoft SQL Server 2005 实际处理带有子查询的 Transact-SQL 语句的方式)。

例如:
for i=1 to 2
display i
for j=1 to 2
display j
end for
end for
执行结果
1 #i
1 #j
2 #j
2 #i
1 #j
2 #j

从内向外。