NULL means a missing or unknown value. It is not the same as zero or an empty string.
Click to reveal answer
beginner
How does DISTINCT treat NULL values in SQL?
DISTINCT treats all NULLs as the same value. So, multiple NULLs count as one distinct value.
Click to reveal answer
beginner
How does GROUP BY handle NULL values?
GROUP BY groups all rows with NULL in the same column together as one group.
Click to reveal answer
intermediate
Where do NULL values appear when using ORDER BY?
In ORDER BY, NULLs usually appear last when sorting ascending, and first when sorting descending, but this can vary by database.
Click to reveal answer
intermediate
Can NULL values affect the result count in DISTINCT or GROUP BY?
Yes, since all NULLs count as one value, they reduce the number of distinct groups or rows compared to counting each NULL separately.
Click to reveal answer
In SQL, how does DISTINCT treat multiple NULL values in a column?
ACounts all NULLs as one distinct value
BIgnores NULL values completely
CReturns an error if NULLs exist
DCounts each NULL as a separate distinct value
✗ Incorrect
DISTINCT treats all NULL values as the same, so they count as one distinct value.
When using GROUP BY on a column with NULL values, what happens to those NULLs?
AEach NULL is treated as a separate group
BThey are excluded from the result
CThey are grouped together as one group
DThe query fails with an error
✗ Incorrect
GROUP BY groups all rows with NULL in that column into a single group.
By default, where do NULL values appear when sorting with ORDER BY ascending?
AAt the end of the result set
BIn the middle of the result set
CAt the beginning of the result set
DThey are removed from the result set
✗ Incorrect
Most SQL databases place NULLs last when sorting ascending, but this can vary.
Does GROUP BY consider NULL values equal or different?
ADepends on the database version
BDifferent, each NULL is unique
CNULLs are ignored
DEqual, all NULLs form one group
✗ Incorrect
GROUP BY treats all NULLs as equal and groups them together.
If a column has multiple NULLs, how many distinct values does DISTINCT count for those NULLs?
AZero
BOne
CThe number of NULLs
DIt depends on the query
✗ Incorrect
DISTINCT counts all NULLs as one distinct value.
Explain how NULL values are treated in DISTINCT, GROUP BY, and ORDER BY clauses in SQL.
Think about how SQL handles unknown or missing values in these clauses.
You got /3 concepts.
Describe the impact of NULL values on the number of groups or distinct rows returned by SQL queries using DISTINCT or GROUP BY.
Consider how NULLs are treated as equal or different.
You got /2 concepts.
Practice
(1/5)
1. What happens to NULL values when using DISTINCT in SQL?
easy
A. NULL values are ignored and not shown in the result.
B. All NULL values are treated as one group and appear once.
C. Each NULL is treated as a unique value and appears multiple times.
D. DISTINCT causes an error if NULL values exist.
Solution
Step 1: Understand DISTINCT behavior with NULL
In SQL, DISTINCT treats all NULL values as equal, grouping them together.
Step 2: Result of DISTINCT on NULL values
This means only one NULL appears in the output, no matter how many NULLs exist.
Final Answer:
All NULL values are treated as one group and appear once. -> Option B
Quick Check:
NULLs grouped once = A [OK]
Hint: NULLs count as one in DISTINCT and GROUP BY [OK]
Common Mistakes:
Thinking NULLs are ignored in DISTINCT
Assuming each NULL is unique
Believing DISTINCT errors on NULL
2. Which of the following is the correct syntax to select distinct values including NULLs from a table named employees on column department?
easy
A. SELECT department DISTINCT FROM employees;
B. SELECT UNIQUE department FROM employees;
C. SELECT DISTINCT(department) FROM employees;
D. SELECT DISTINCT department FROM employees;
Solution
Step 1: Identify correct DISTINCT syntax
The correct SQL syntax to get unique values is SELECT DISTINCT column FROM table;. Parentheses are not used with DISTINCT.
Step 2: Check each option
SELECT DISTINCT department FROM employees; uses correct syntax. SELECT UNIQUE department FROM employees; uses UNIQUE which is not standard SQL. SELECT DISTINCT(department) FROM employees; incorrectly uses parentheses. SELECT department DISTINCT FROM employees; has wrong keyword order.
Final Answer:
SELECT DISTINCT department FROM employees; -> Option D
Quick Check:
Standard DISTINCT syntax = D [OK]
Hint: Use DISTINCT without parentheses for unique values [OK]
Common Mistakes:
Using UNIQUE instead of DISTINCT
Adding parentheses after DISTINCT
Misplacing DISTINCT keyword
3. Given the table sales with column region containing values: ('East', 'West', NULL, 'East', NULL), what will be the result of this query?
SELECT region FROM sales GROUP BY region ORDER BY region ASC;
medium
A. [NULL, 'East', 'West']
B. ['East', 'West', NULL]
C. ['East', NULL, 'West']
D. [NULL, 'West', 'East']
Solution
Step 1: GROUP BY groups NULLs together
The GROUP BY groups all NULL values as one group. So NULL appears once.
Step 2: ORDER BY ascending places NULL first
In ascending order, NULL values come before any text values. Then 'East' and 'West' follow alphabetically.
Final Answer:
[NULL, 'East', 'West'] -> Option A
Quick Check:
NULL first in ORDER BY ASC = A [OK]
Hint: ORDER BY ASC puts NULL before text values [OK]
Common Mistakes:
Assuming NULL sorts last
Treating NULL as a string value
Expecting multiple NULL rows in GROUP BY
4. What is wrong with this query if the goal is to list unique category values including NULLs?
SELECT category FROM products GROUP BY category ORDER BY category;
medium
A. Query is correct and will work as intended.
B. ORDER BY cannot be used with GROUP BY.
C. Missing closing semicolon causes syntax error.
D. GROUP BY ignores NULL values, so NULLs won't appear.
Solution
Step 1: Check syntax and logic
The query groups by category and orders by category. This is valid SQL syntax.
Step 2: Understand NULL handling
GROUP BY includes NULL as a group, so NULL values appear once. ORDER BY sorts NULLs first by default.
Final Answer:
Query is correct and will work as intended. -> Option A
Quick Check:
GROUP BY with ORDER BY and NULLs works = C [OK]
Hint: GROUP BY includes NULLs; ORDER BY works with GROUP BY [OK]
Common Mistakes:
Thinking NULLs are excluded by GROUP BY
Believing ORDER BY can't follow GROUP BY
Assuming missing semicolon breaks query
5. You have a table orders with a column status that can be 'Pending', 'Shipped', or NULL. You want to count how many orders exist for each status, including NULLs as a separate group. Which query correctly achieves this?
hard
A. SELECT status, COUNT(*) FROM orders GROUP BY status HAVING status IS NOT NULL ORDER BY status;
B. SELECT status, COUNT(*) FROM orders WHERE status IS NOT NULL GROUP BY status ORDER BY status;
C. SELECT status, COUNT(*) FROM orders GROUP BY status ORDER BY status ASC;
D. SELECT DISTINCT status, COUNT(*) FROM orders ORDER BY status;
Solution
Step 1: Understand grouping with NULL
GROUP BY status groups NULL values as one group, so counting includes NULLs separately.
Step 2: Analyze each option
SELECT status, COUNT(*) FROM orders GROUP BY status ORDER BY status ASC; groups all statuses including NULL and orders them ascending. SELECT status, COUNT(*) FROM orders GROUP BY status HAVING status IS NOT NULL ORDER BY status; excludes NULL with HAVING. SELECT status, COUNT(*) FROM orders WHERE status IS NOT NULL GROUP BY status ORDER BY status; filters NULL out in WHERE. SELECT DISTINCT status, COUNT(*) FROM orders ORDER BY status; uses DISTINCT with COUNT(*) incorrectly.
Final Answer:
SELECT status, COUNT(*) FROM orders GROUP BY status ORDER BY status ASC; -> Option C
Quick Check:
GROUP BY includes NULL groups = B [OK]
Hint: Use GROUP BY without WHERE to include NULL counts [OK]
Common Mistakes:
Filtering NULLs out before grouping
Using HAVING to exclude NULLs unintentionally
Misusing DISTINCT with aggregate functions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.