下面给出了火车预订数据库的关系模式。
乘客(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)
(一) 1, 0
(二) 1、2
(三) 1、3
(四) 1, 5答案: (C)
说明:当子查询使用来自外部查询的值时,该子查询称为相关子查询。对于外部查询处理的每一行,相关子查询都会被评估一次。
外部查询从 Reservation 表中选择 4 个条目(pid 为 0、1、5、3)。在这些选定的条目中,子查询仅返回 1 和 3 的非空值。
这个问题的测验