初学SQL,有几个语句不能理解,请高手帮详细解释下:(1).
SELECT S#,SNAME
FROM S
WHERE S# IN( SELECT S#
FROM SC
WHERE C#='C2');
这个语句的内层查询执行了1次吗??(2).
SELECT S#,SNAME
FROM S
WHERE 'C2' IN ( SELECT C#
FROM SC
WHERE S#=S.S#);
这个语句的内查询执行了多少次?? 它是怎样工作的??(3).
SELECT S#,SNAME
FROM S
WHERE EXISTS ( SELECT *
FROM SC
WHERE SC.S#=S.S# AND C#='C2');
这个语句的内查询执行了多少次?? 它是怎样工作的??
SELECT S#,SNAME
FROM S
WHERE S# IN( SELECT S#
FROM SC
WHERE C#='C2');
这个语句的内层查询执行了1次吗??(2).
SELECT S#,SNAME
FROM S
WHERE 'C2' IN ( SELECT C#
FROM SC
WHERE S#=S.S#);
这个语句的内查询执行了多少次?? 它是怎样工作的??(3).
SELECT S#,SNAME
FROM S
WHERE EXISTS ( SELECT *
FROM SC
WHERE SC.S#=S.S# AND C#='C2');
这个语句的内查询执行了多少次?? 它是怎样工作的??
解决方案 »
- sql数据编码的问题...不知道发到这里合适不...
- 帮忙看一下while执行效率
- access数据库sql 语句中的列数据与变量的使用
- 求助CSV文件导入SQL Server 2008 R2
- 请大家帮我看看这个关系图是否有问题
- Min 的小问题
- ##求一SQL语句,比较简单
- Access查询中使用参数做为表名的问题
- 问一个查询语句的问题。
- 十万火急,100份求教注册sql sever服务器?
- ms sql有类似mysql中load data的 命令吗
- sql server 2000,开发版与企业版有什么区别呢?除了版权问题,单从使用上说.比如在单位用开发版,有什么问题吗?[用企业版不也是盗版吗]
其执行顺序如下:
1.首先执行一次外部查询
2.对于外部查询中的每一行分别执行一次子查询,而且每次执行子查询时都会引用外部查询中当前行的值。
3.使用子查询的结果来确定外部查询的结果集。
如果外部查询返回100行,SQL 就将执行101次查询,一次执行外部查询,然后为外部查询返回的每一行执行一次子查询。但实际上,SQL的查询
优化器有可能会找到一种更好的方法来执行相关子查询,而不需要实际执行101次查询。