Home » Database » Database miscellaneous » Question

Database miscellaneous

  1. Consider the relation enrolled (student, course) in which (student, course) is the primary key, and the relation paid (student, amount) where student is the primary key. Assume no null values and no foreign keys or integrity constraints. Given the following four queries :
    Query1 : select student from enrolled where student in (select student from paid)
    Query2 : select student form paid where student in (select student from enrolled)
    Query3 : select E.student from enrolled E, paid P where E.student = P. student
    Query4 : select student from paid where exists
    (select * from enrolled where enrolled.student = paid.student)
    Which one of the following statements is correct?
    1. All queries return identical row sets for any database
    2. Query2 and Query4 return identical row sets for all databases but there exist databases for which Query1 and Query2 return different row sets
    3. There exist databases for which Query3 returns strictly fewer rows than Query2
    4. There exist databases for which Query4 will encounter an integrity violation at runtime
Correct Option: A

The output of Query2, Query3 and Query4 will be identical. Query1 may produce duplicate rows. But rowset produced by all of them will be same.
Table enrolled

student course
----------------------
abcc1
xyzc1
abcc2
pqrc1


Output of Query 1
abc
abc
xyz
Output of Query 2
abc
xyz

Output of Query 3
abc
xyz

Output of Query 4
abc
xyz



Your comments will be displayed only after manual approval.