Запросы к базам данных и язык SQL
💻 Информатика · 10 класс
Зачем нужны запросы
Запрос — это команда к базе данных, по которой система выбирает, фильтрует и упорядочивает нужные сведения. Запросы позволяют получить из таблицы только те записи, которые удовлетворяют заданным условиям, не изменяя саму таблицу. Для составления запросов в реляционных базах данных применяют язык SQL — язык структурированных запросов.
Выборка данных
Основная команда выборки — SELECT. Она указывает, какие поля нужно получить, а ключевое слово FROM задаёт таблицу-источник. Например, чтобы выбрать фамилии и баллы из таблицы учеников, пишут:
SELECT Фамилия, Балл FROM Ученики;Условия отбора
Чтобы отобрать только часть записей, добавляют условие после слова WHERE. В условиях используют операции сравнения и логические связки and, or, not.
SELECT Фамилия FROM Ученики WHERE Балл > 80;Этот запрос вернёт фамилии учеников, у которых балл больше восьмидесяти. Знаки сравнения собраны в таблице.
| Знак | Смысл |
|---|---|
= | равно |
> | больше |
< | меньше |
>= | больше или равно |
<> | не равно |
Сортировка результата
Чтобы упорядочить результат, применяют ORDER BY. По умолчанию сортировка идёт по возрастанию, а слово DESC задаёт убывание.
SELECT Фамилия, Балл FROM Ученики ORDER BY Балл DESC;Разобранный пример
Нужно вывести фамилии учеников класса 10А с баллом не ниже восьмидесяти, по убыванию балла. Запрос:
SELECT Фамилия, Балл FROM Ученики WHERE Класс = '10А' AND Балл >= 80 ORDER BY Балл DESC;Логические условия
| Связка | Когда условие истинно |
|---|---|
| and | истинны оба условия |
| or | истинно хотя бы одно |
| not | условие ложно |
Выбор всех полей
Если нужно получить все поля таблицы, вместо перечисления имён ставят звёздочку. Такой запрос возвращает таблицу целиком или, при наличии условия, отобранные строки со всеми столбцами.
SELECT * FROM Ученики WHERE Класс = '10А';Порядок частей запроса
Части запроса записывают в строго определённом порядке. Нарушение порядка приведёт к ошибке. Запомнить его помогает следующая последовательность.
| Порядок | Ключевое слово | Что задаёт |
|---|---|---|
| 1 | SELECT | какие поля вывести |
| 2 | FROM | из какой таблицы |
| 3 | WHERE | условие отбора строк |
| 4 | ORDER BY | как упорядочить результат |
Сначала система берёт таблицу из FROM, затем оставляет строки по условию WHERE, потом выбирает нужные поля и в конце сортирует результат по ORDER BY.
Частые ошибки. Текстовые значения в условиях заключают в кавычки, а числа — нет. Запрос на выборку не меняет данные в таблице. УсловиеWHEREпишут до сортировкиORDER BY, а не после.
Кратко о главном
- Запрос отбирает и упорядочивает данные, не меняя таблицу.
- Команда
SELECT ... FROMзадаёт поля и таблицу. - Условие
WHEREфильтрует записи, поддерживает and, or, not. - Команда
ORDER BYсортирует результат по возрастанию или убыванию.