База: WHERE, ORDER BY, DISTINCT, CASE

Скрыть список уроков

Основы SQL - фильтрация, сортировка, уникальные значения и условия if then else

SQL

7. Интернет-магазин

Вывести заказы из Москвы и Санкт-Петербурга за 2024 год с суммой от 1000 до 5000 включительно, отсортировав по дате убыв.; показать строки с 11-й по 20-ю. Фильтр по сумме - через BETWEEN, по городам - через IN.
Поля результата
* - все поля заказа
Список таблиц
Ваш запрос
Исходные таблицы

orders

ПолеКомментарий
order_idзаказ
cityгород
order_dateдата
amountсумма
statusстатус

SQL

8. Банк - клиентская база

Вывести клиентов, у которых город не «Москва», включая тех, у кого город не заполнен; отсортировать по доходу убыв., клиентов с неизвестным доходом - в конец независимо от СУБД.
Поля результата
* - все поля клиента
Список таблиц
Ваш запрос
Исходные таблицы

clients

ПолеКомментарий
client_idклиент
full_nameФИО
cityгород (может быть NULL)
monthly_incomeдоход (может быть NULL)

SQL

9. Аптечная сеть

Вывести рецептурные препараты, название которых начинается на «А» или содержит подстроку «цин» в любом регистре; название вывести в нижнем регистре.
Поля результата
drug_id, drug_name (в нижнем регистре), price
Список таблиц
Ваш запрос
Исходные таблицы

drugs

ПолеКомментарий
drug_idпрепарат
drug_nameназвание
formформа
priceцена
prescription_onlyтолько по рецепту (boolean)

SQL

10. Телеком - абоненты

Вывести номер абонента, его полное имя одной строкой в формате «имя фамилия» (через пробел, напр. «Иван Петров»; если фамилия не указана - только имя, без пробела в конце), телефон или 'Не указан', если телефона нет, и признак долга: 'Долг' при отрицательном балансе, иначе 'Нет долга'.
Поля результата
sub_id, full_name, phone, debt_status
Список таблиц
Ваш запрос
Исходные таблицы

subscribers

ПолеКомментарий
sub_idабонент
first_nameимя
last_nameфамилия (NULL)
phoneтелефон (NULL)
balanceбаланс
tariffтариф

SQL

11. Служба поддержки - очередь тикетов

Вывести открытые тикеты в порядке разбора: сначала высокий приоритет, затем обычный, затем низкий; внутри одного приоритета - самые старые сверху.
Поля результата
ticket_id, subject, priority, created_at
Список таблиц
Ваш запрос
Исходные таблицы

tickets

ПолеКомментарий
ticket_idтикет
subjectтема
priorityприоритет: high/normal/low
statusстатус: open/closed
created_atсоздан

SQL

12. Каршеринг

Вывести поездки, начатые 1 мая 2024 года, длиной больше 10 км, отсортировав по времени старта.
Поля результата
* - все поля поездки
Список таблиц
Ваш запрос
Исходные таблицы

rides

ПолеКомментарий
ride_idпоездка
user_idпользователь
started_atстарт (timestamp)
finished_atфиниш (timestamp)
distance_kmдистанция, км