Для отчёта по регистрациям вам нужны только user_id и signup_at из таблицы users. Какой запрос лучше соответствует задаче и не тянет лишние поля?

ASELECT user_id, signup_at FROM users
BSELECT * FROM users
CSELECT signup_at FROM users
DSELECT user_id, signup_at FROM users WHERE signup_at IS NULL
Правильный ответ. Лучше выбирать только нужные столбцы: это упрощает дальнейшую работу и снижает риск лишней выгрузки данных.

Разбор

SELECT * вытаскивает все столбцы, что часто приводит к лишнему объёму данных в выгрузке и может случайно утащить поля, которые не нужны для аналитики. Если для отчёта требуются только user_id и signup_at, то точнее и безопаснее запрос SELECT user_id, signup_at FROM users. Вариант с дополнительным WHERE signup_at IS NULL меняет смысл выборки и оставит только строки с пропущенной датой регистрации.

Проверь себя · 1/3разбор после ответа
В таблице users 1000 строк, из них у 200 пользователей поле email равно NULL. Чем будут отличаться результаты SELECT COUNT(*) FROM users и SELECT COUNT(email) FROM users?
Тренировать SQL в Telegram

Ещё вопросы по теме «Основы SQL-запросов»