3.4k views

In SQL, relations can contain null values, and comparisons with null values are treated as unknown. Suppose all comparisons with a null value are treated as false. Which of the following pairs is not equivalent?

1. $x = 5 \quad not (not (x = 5))$
2. $x = 5 \quad x > 4$ and $x < 6,$ where $x$ is an integer
3. $x ≠ 5 \quad not (x = 5)$
4. none of the above
edited | 3.4k views

Value at hand Option A Option B Option C
$6$ $\times$ $\times$ $\times$ $\times$ $\checkmark$ $\checkmark$
$5$ $\checkmark$ $\checkmark$ $\checkmark$ $\checkmark$ $\times$ $\times$
null $\times$ $\times$ $\times$ $\times$ $\times$ $\checkmark$
edited
+1
@amarVashishth can oyu please explain me the options given, Like i am not able relate between null and x=5. Where does comparision with null comes in picture?
+26

@Aayushi, I am trying to explain option c.

Suppose all comparisons with a null value are treated as false.

now see, LHS = x !=5,  lets take x=null, => (null) !=5                  => false.

RHS = not( x = 5) ,  => not ( null = 5)    =>> not (false) =>> true.

Now check above solution for other options..

0
Can u explain about all options and their correctness, means how are they correct

As (null) != 5 gives false.
But, not((null) = 5) gives not(false) gives true.
edited
0
option (b)
NULL=5   False
x>4 and x<6 where x is an integer
Please explain how this evaluates to false
+5
in all the options, will be evaluating the pair of equations with same value of x(whether it is null or an integer) in option 'b' x is always an integer, so whatever value of x u put both x=5 and x>4 and x<6 will always give the same answer
0
Yes. THANKS
a.null = 5   => false ,

not(not(null=5))  = not(not(false)) = not(true) = false

b. null = 5 => false ,

null>4 and null <6 = False and false = false

c.null ≠ 5 => false

not(null= 5)= not (false) = true

∴ option C is not eqivivalent