(数据结构判断题)在SQL的嵌套查询中,查询 *** 作的次序总是由里向外(判断正误,并说明理由给出解释)

(数据结构判断题)在SQL的嵌套查询中,查询 *** 作的次序总是由里向外(判断正误,并说明理由给出解释),第1张

楼主好,正确的,这道题首先你需要知道什么是嵌套查询。所谓嵌套查询,就是在一个查询得到的结果集之上再次进行查询。说白了也就是你如果想执行外层查询,你就一定需要先得到内部的结果集。所以SQL在执行的时候,必须要先得到子查询的结果,才能把子查询的结果集当成表,再次查询处理。例如:

select * from

(select sum(b) as A from table where a='A') a

where a.A>100

这个查询,如果你想得到结果,数据库一定先计算select sum(b) as A from table where a='A',否则不行

嵌套就是类似IN语句,比如select

*

from

table1

where

id

in

(select

id

from

table2),连接就是用JOIN把2表根据一个字段进行数据连接,区别就是连接查询效率比嵌套高,而且JOIN可以通过改变JOIN先后顺序,先扫描记录少的表,从而提高速度,如果嵌套会固定先搜索子查询

1

select 产品(名称) from 产品 where 产品(编号) in (select 使用(产品编号) from 使用 where 使用(使用零件编号) in (select 零件(颜色) from 零件 where 零件(颜色)='红色'))

2,

select select 产品(名称) from 产品 where 产品(车间编号) in (select 车间(编号) from 车间 where 车间(人数)<(select (min)车间(人数) from 车间 where 车间(编号) in (3,4,5)))

3

a 产品 b零件 b使用

select a.名称,b.名称,c.个数 from 产品 as a,零件 as b,使用 as c where c.产品编号=a.编号 and c.使用零件编号=a.编号 and a,编号=(select 产品(编号) from 产品 where 产品(车间编号)=(select 车间(编号) from 车间 where 车间(主任)='张力'))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6920345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存