Let Depositor and Lender be relational schemas such that Depositor = {a/c number, cname , balance, branch} and Lender ={loan_number ,cname, amount , branch}.
Now consider the following queries on the database :
Query 1 : ( t | ∃D ∈Depositor ( t.cname = D.cname ) ∧ ∃L ∈Lender ( t.cname = L.cname ) )
Query 2 : ( ( πcname Depositor ) ∩ ( πcname Lender ) )
Query 3 : Select cname from Depositor d where exists ( select * from Lender l where l.cname = d.cname ) ;
Which of the following is a false statement ?
- Query 1 and Query 2 gives same result
- Query 2 and Query 3 gives same result
- Query 1 and Query 3 gives same result
- Query 1, Query 2 and Query 3 gives different results
Ans: 4
Doubt:
What will be the output of query 1
I think it will return only the tuples with only cname as column where D.cname = L.cname(with no duplicates)
Output of query 2
Single column table containing cname where D.cname = L.cname(No duplicates)
Output of Query 3
Single column table containing cname where D.cname = L.cname(Containing duplicates)
PS: I’ll merge this with the original question when my doubts are cleared