S1: A foreign key declaration can always be replaced by an equivalent check assertion in SQL.
S2: Given the table R(a,b,c) where a and b together form the primary key, the following is a valid table definition.
CREATE TABLE S (
a INTEGER,
d INTEGER,
e INTEGER,
PRIMARY KEY (d),
FOREIGN KEY (a) references R)
Which one of the following statements is CORRECT?
P: An SQL query can contain a HAVING clause even if it does not have a GROUP BY clause
Q: An SQL query can contain a HAVING clause only if it has a GROUP BY clause
R: All attributes used in the GROUP BY clause must appear in the SELECT clause
S: Not all attributes used in the GROUP BY clause need to appear in the SELECT clause
A relational schema for a train reservation database is given below:
Passenger ( pid, pname, age)
Reservation (pid, cass, 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 |
What pids are returned by the following SQL query for the above instance of the tables?
SELECT pid
FROM Reservation
WHERE class 'AC' AND
EXISTS (SELECT *
FROM Passenger
WHERE age > 65
AND Passenger.pid = Reservation.pid);