сделал практику по 'Базовый SQL'
This commit is contained in:
@@ -0,0 +1,59 @@
|
|||||||
|
-- Задание 1
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
country,
|
||||||
|
created_at,
|
||||||
|
email
|
||||||
|
FROM mnoskov.users
|
||||||
|
ORDER BY created_at DESC, name;
|
||||||
|
-- выбрал эти столбцы потому что так сказано в задании, я бы добавил ещё is_active
|
||||||
|
-- такая сортировка для того, чтобы даты шли от новых к старым и имена людей за одну дату шли по алфавиту
|
||||||
|
|
||||||
|
|
||||||
|
-- Задание 2
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
country
|
||||||
|
FROM mnoskov.users
|
||||||
|
WHERE country = 'US'
|
||||||
|
ORDER BY name;
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
country
|
||||||
|
FROM mnoskov.users
|
||||||
|
WHERE country = 'UK'
|
||||||
|
ORDER BY name;
|
||||||
|
-- для маркетолого полезнее первый запрос т.к. там больше данных
|
||||||
|
|
||||||
|
|
||||||
|
-- Задание 3
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
email
|
||||||
|
FROM mnoskov.users
|
||||||
|
WHERE email IS NOT NULL
|
||||||
|
ORDER BY name;
|
||||||
|
|
||||||
|
SELECT DISTINCT
|
||||||
|
lower(email) AS email_lower
|
||||||
|
FROM mnoskov.users
|
||||||
|
WHERE email IS NOT NULL;
|
||||||
|
-- приводить email к одному регистру мб для красоты, вроде везде email принимается и в нижем и в верхнем регистре
|
||||||
|
-- дубликаты убираем чтобы вытрина занимала меньше места, и чтобы не было повторных рассылок
|
||||||
|
|
||||||
|
|
||||||
|
-- Задание 4
|
||||||
|
SELECT
|
||||||
|
id,
|
||||||
|
name,
|
||||||
|
created_at
|
||||||
|
FROM mnoskov.users
|
||||||
|
WHERE created_at > '2024-02-20 23:59'
|
||||||
|
ORDER BY created_at DESC
|
||||||
|
LIMIT 2 OFFSET 1;
|
||||||
|
-- OFFSET может пригодиться, чтобы взять интервал данных
|
||||||
Reference in New Issue
Block a user