SELECT поля FROM таблица WHERE условие выбирает строки.
ORDER BY сортирует, GROUP BY группирует, HAVING фильтрует группы.
COUNT, SUM, AVG, MIN, MAX: функции агрегирования. JOIN соединяет таблицы.
INSERT добавляет строки, UPDATE изменяет, DELETE удаляет. UPDATE и DELETE без WHERE затронут все строки.
Примеры заданий
Интернет-магазин (пример условный) хранит данные в реляционной базе из двух таблиц. Таблица Products: id, name, price, category. Таблица Orders: id, product_id, qty, order_date. Поле product_id в Orders ссылается на id товара в Products.
Какой запрос выводит названия товаров дороже 5000?
ASELECT * FROM Orders WHERE price > 5000
BSELECT name FROM Products WHERE price > 5000
CSELECT name FROM Products ORDER BY 5000
DSELECT price FROM Products WHERE name > 5000
Показать ответ
Ответ: B. Нужны названия (name) из Products с условием по цене.
Школьная библиотека (пример условный). Данные библиотеки хранятся в реляционной базе данных из двух таблиц. В таблице Books первичный ключ — поле book_id, других ограничений на значения полей этой таблицы нет. В таблице Loans записаны выдачи книг, её первичный ключ — поле loan_id. В поле returned значение 1 означает, что книгу вернули, а значение 0 — что книга ещё у читателя.
Таблица Books:
book_id | title | year | copies
1 | Алгоритмы | 2015 | 5
2 | Базы данных | 2019 | 3
3 | Логика | 2012 | 7
4 | Сети | 2021 | 2
5 | Python | 2019 | 6
Таблица Loans:
loan_id | book_id | student | returned
1 | 1 | Айбек | 1
2 | 2 | Дана | 0
3 | 2 | Айбек | 0
4 | 5 | Мира | 1
5 | 3 | Дана | 0
6 | 5 | Дана | 0
Сколько строк вернёт запрос?
SELECT title FROM Books WHERE year = 2019;
A1
B3
C2
D5
Показать ответ
Ответ: C. Условию year = 2019 удовлетворяют книги «Базы данных» и «Python», поэтому запрос вернёт 2 строки.
Заданий по теме: 6
Сайт проверит ответы, покажет разбор каждой ошибки и вернёт тему на повторение, когда придёт срок.