The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+37 votes

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
asked in Databases by Veteran (59.9k points)
edited by | 4.3k views

3 Answers

+42 votes
Best answer

Answer is option C.

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$
answered by Boss (31.1k points)
edited by
@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?

@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..

Can u explain about all options and their correctness, means how are they correct
Suppose x=NULL

a) NULL=5 is false ; Not(Not(NULL=5)  => Not(Not(False))  => Not(true)   => they are equivalent.

b) NULL=6 is false ; NULL> 4 and NULL<6 is also false so they  are also equivalent.
+25 votes
Answer: C

As (null) != 5 gives false.
But, not((null) = 5) gives not(false) gives true.
answered by Active (3.3k points)
edited by
option (b)
NULL=5   False
x>4 and x<6 where x is an integer
Please explain how this evaluates to false
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
+15 votes
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
answered by Junior (935 points)

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
47,894 questions
52,261 answers
67,679 users