Выбор ответа Junior GROUP BY и агрегаты спрашивают часто обновлено
COUNT(*) против COUNT(колонка)
Вопрос
В таблице 5 строк, в колонке phone у двух из них NULL. Что вернёт SELECT COUNT(*), COUNT(phone) FROM t?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 5 и 3. COUNT() считает строки, ему безразличны значения колонок: 5.
Варианты ответа
- 5 и 5
- 5 и 3правильный ответ
- 3 и 3
- 5 и 2
Разбор
COUNT(*) считает строки, ему безразличны значения колонок: 5. COUNT(phone) считает только строки, где phone IS NOT NULL: 3. Вариант «5 и 2» путает: он считает как раз строки с NULL.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.