📜  门| GATE IT 2006 |第85章

📅  最后修改于: 2021-06-29 04:31:55             🧑  作者: Mango

考虑一个具有以下所示的三个关系实例的数据库。驾驶员和汽车关系的主键分别是do和cid,并且记录以这些主键的升序存储,如表中所示。数据库中没有索引可用。

2006_84_85

2006_84_85_2
2006_84_85_3
以下SQL查询的输出是什么?
2006_84_85_4
(A)鲍里斯·卡西凯扬(Both Karyan)
(B)萨钦·萨尔曼
(C) Karthikeyan,Boris,Sachin
(D)舒纳赫(Senna)答案: (A)
解释:

子查询总是在执行主查询之前执行。子查询首先完成。子查询的结果用作外部查询的输入。

从第一个内部查询:

从Cars C,Reserves R中选择R.did
其中R.cid = C.cid和C.colour =’红色’。

C.color =“红色”,对应于C.cid = {102,104}。

R.cid = C.cid,因此有五行提取到此where条件。
来自第二个内部查询的R.did = {22,22,31,31,64}:
从Cars C,Reserves R中选择R.did
其中R.cid = C.cid和C.colour =’绿色’

C.color =“绿色”,对应的C.cid = {103}

R.cid = C.cid,因此有三行提取到此where条件。
R.did = {22,31,74}

最后,外部查询选择驱动程序名称,其did = {22,31},其中
对应于Karthikeyan和Boris。
因此正确的选项是A。

此解决方案由Nitika Bansal提供
这个问题的测验