sql

🔷 SQL: Duplicate Detection and the NULL Trap

Finding duplicates:

SELECT email, COUNT(*) AS cnt
FROM users
GROUP BY email
HAVING COUNT(*) > 1;

The NULL comparison trap: - NULL = NULL → returns NULL (not TRUE!) - NULL != 5 → returns NULL (not TRUE!) - Always use IS NULL or IS NOT NULL - COUNT(column) ignores NULLs, COUNT(*) counts all rows - AVG(column) ignores NULLs (divides by non-NULL count)

Practice Questions

Q: Table has 100 rows. Column bonus has 20 NULLs. What does AVG(bonus) divide by?