My earlier puzzle SQL Puzzle – SELECT ~ 1 : Guess the Answer received over 125 responses while I am writing this one. Lots of people have asked me to share another puzzle. Well, let us see a very simple puzzle of Unsolved CASE Expression.
Unsolved CASE Expression
Without running the following command, guess the output of the SELECT statement:
SELECT CASE WHEN 1 <> 1 THEN 1 WHEN 2 <> 2 THEN 2 END 'Result'
As I really want you to run the query, I am not going to share the output here in this blog post. Once you run the puzzle, I would like you to comment on the reason for the query to return the result which it is returning.
Well, that’s it for today. Leave your answer in the comments section.
Let me know if you are interested to know more about this topic and I will write more blogs as well as create an SQL in Sixty Seconds video.
Here are my few recent videos and I would like to know what is your feedback about them.
- Find Expensive Queries – SQL in Sixty Seconds #159
- Case-Sensitive Search – SQL in Sixty Seconds #158
- Wait Stats for Performance – SQL in Sixty Seconds #157
- Multiple Backup Copies Stripped – SQL in Sixty Seconds #156
Reference: Pinal Dave (http://blog.SQLAuthority.com)
Ok I guessed the answer correctly. If 1 does not = 1 then 1 / if 2 does not = 2 then 2. Both are false statements and there is no Else statement therefore no value so null is returned in the column named “Result”
NULL because case conditions can’t evaluate to true
NULL as CASE Conditions are not returning TRUE
Null because none of the statements are true
NULL as because none of the conditions are true
The following query will create a column and will display the column name as result if the when statement is true which is if 1 is not equal to 1 and 2 is also not equal to 2 in second statement only then in the result column first row will display as 1 and second row will display as 2.
null because the query wasn’t close using the ;
It wouldn’t run because there is no column from where the case statement would work on.
There’s no column indicated after the Case statement or when given the condition.