The Gateway to Computer Science Excellence
+22 votes

Consider two relations $R_1(A,B)$ with the tuples $(1,5), (3,7)$ and $R_2(A,C) = (1,7),(4,9)$. Assume that $R(A,B,C)$ is the full natural outer join of $R_1$ and $R_2$. Consider the following tuples of the form (A,B,C):

$a = (1,5,null), b=(1,null,7), c=(3,null,9), d=(4,7,null), e=(1,5,7), \\ f=(3,7,null), g=(4,null,9).$

Which one of the following statements is correct?

  1. $R$ contains $a, b, e, f, g$ but not $c, d$.
  2. $R$ contains all $a, b, c, d, e, f, g$.
  3. $R$ contains $e, f, g$ but not $a, b$.
  4. $R$ contains $e$ but not $f, g$.
in Databases by Veteran (105k points)
edited by | 2.5k views

2 Answers

+30 votes
Best answer
$R_1(A,B): \begin{array}{|c|c|} \hline \textbf{A} & \textbf{B} \\\hline \text {1} &  \text{5 }\\\hline \text{3} & \text{7} \\\hline \end{array}$

$R_2(A,C): \begin{array}{|c|c|} \hline \textbf{A} & \textbf{C} \\\hline \text {1} &  \text{7}\\\hline \text{4} & \text{9} \\\hline \end{array}$

Now , if we do full natural outer join:
$$\begin{array}{|c|c|} \hline \textbf{A} & \textbf{B} & \textbf{C}\\\hline \text {1} &  \text{5 } & \text{7}\\\hline \text{3} & \text{7} & \text{NULL} \\\hline  \text{4} & \text{NULL} & \text{9} \\\hline \end{array}$$
So, option (C) is correct.
by Active (3.8k points)
edited by
Thank you @Arjun sir .. :)
why we cant write as 3  7   9. why 3   7   null??
only 1 match between two tables so that row will have all the values in 3 7 case

A - 3, B-7 no C so bcz it is FOJ so put that row in the table with null

@kshitij arunabh because in R2 9 of C is with 4 of A, thats why in R(A,B,C) 9 is with (4, null, 9) 

+5 votes
Ans C. Full outer join means take all matching rows from left table and right table based on common columns.
by Boss (13.6k points)
No full outer join doesnt mean that.It means take all tuples irrespective of any condition and print all the tuples putting null where the attributes are not applicable.Its cardinality turns out to be n(A) + n(B) option a is correct.
How C  is the answer?

How 3rd tuple (4,null,9) is coming? if that happens then i think from left outer join (1,5,null)tuple also should come.
ok clear.

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,737 questions
57,274 answers
104,798 users