-- Задание 1 SELECT id, name, country, created_at, email FROM users ORDER BY created_at DESC, name; -- Почему выбрал именно эти столбцы и зачем такая сортировка? -- Ответ на вопрос: -- Эти столбцы нужны для анализа пользователей, для тех же аналитиков. -- Сортировка по дате и имени, я так предпологаю, нужня для удобства. -- Задание 2 -- Запрос 1 SELECT id, name, country FROM users WHERE country = 'US' ORDER BY name; -- Запрос 2 SELECT id, name, country FROM users WHERE country = 'UK' ORDER BY name; -- Какой из двух запросов маркетологу полезнее и почему? -- Ответ на вопрос: -- Я так понимаю маркетологу нужно понять какое кол-во пользователей в каждой из стран зарегестрировалось в приложении. -- Возможно для понимания продвижения продукта и насколько успешна маркетинговая стратегия. И в дальнейшем её корректировка. -- Задание 3 -- Запрос 1 SELECT id, name, email FROM users WHERE email IS NOT NULL -- я знаю что email и так должен быть NOT NULL по DDL, но на всякий прописал ORDER BY name; -- Запрос 2 SELECT DISTINCT LOWER(email) as email_lower FROM users WHERE email IS NOT NULL; -- Зачем вообще приводить email к одному регистру и убирать дубликаты на стороне базы? -- Ответ на вопрос: -- Приводить email к нижнему регистру необходимо для того чтобы небыло дубликатов почты. -- После гугления я узнал что в почтовых адресах могут допускаться верхние регистры букв, только потом создать email с теми же буквами но в нижнем регистре нельзя будет, они будут считаться индентичными. -- Получается несколько пользователей могут залогинится под одним и тем же email адресом но с разными регистрами. А такое нельзя допускать. -- Для рассылки дубликаты нужно убирать что-бы не приходила рассылка дважды в один и тот же email. -- Задание 4 -- Запрос 1 SELECT id, name, created_at FROM users WHERE created_at > '2024-01-14' ORDER BY created_at DESC; -- Запрос 2 SELECT id, name, created_at FROM users WHERE created_at > '2024-01-14' ORDER BY created_at DESC LIMIT 3; -- Запрос 3 SELECT id, name, created_at FROM users WHERE created_at > '2024-01-14' ORDER BY created_at DESC OFFSET 1 LIMIT 2; -- В каком реальном сценарии тебе пригодится OFFSET? -- Ответ на вопрос: -- Не знаю, возможно понадобится посмотреть несколько записей из середины списка.