下面给出了火车预订数据库的关系模式。
乘客(PID,PNAME,年龄)
预约(pid,class,tid)
Table: Passenger
pid pname age
-----------------
0 Sachin 65
1 Rahul 66
2 Sourav 67
3 Anil 69
Table : Reservation
pid class tid
---------------
0 AC 8200
1 AC 8201
2 SC 8201
5 AC 8203
1 SC 8204
3 AC 8202
对于上面的表实例,以下SQL查询返回哪些pid?
SLECT pid
FROM Reservation ,
WHERE class ‘AC’ AND
EXISTS (SELECT *
FROM Passenger
WHERE age > 65 AND
Passenger. pid = Reservation.pid)
(A) 1、0
(B) 1、2
(C) 1、3
(D) 1、5答案: (C)
说明:当子查询使用外部查询中的值时,该子查询称为相关子查询。对于由外部查询处理的每一行,对关联子查询进行一次评估。
外部查询从保留表中选择4个条目(PID为0、1、5、3)。在这些选定的条目中,子查询仅返回1和3的Non-Null值。
这个问题的测验