582 views
0 votes
0 votes

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 ?

  1. Query 1 and Query 2 gives same result 
  2. Query 2 and Query 3 gives same result 
  3. Query 1 and Query 3 gives same result 
  4. 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

Please log in or register to answer this question.

Related questions

1 votes
1 votes
1 answer
3
Shubhanshu asked Dec 24, 2018
1,260 views
According to me it should be – “Retrieve the names of all students with a lower rank, than all students with age < 18 ”