Этот урок посвящен выбору данных из таблиц базы данных с использованием SQL. Рассмотрим операторы WHERE, ORDER BY и LIMIT, позволяющие выполнять сложные запросы и получать нужные результаты.
Выборка всех записей
Для выбора всех записей из таблицы используется следующий синтаксис:
SELECT * FROM people;
SELECT * выбирает все столбцы (*), а FROM people указывает таблицу, из которой следует выбирать данные.
Выборка конкретных полей
Для выбора только определенных полей используется список имен полей после SELECT:
SELECT name, bio FROM people;
Этот запрос выбирает только столбцы name и bio из таблицы people.
Фильтрация данных с помощью WHERE
Оператор WHERE позволяет фильтровать данные, выбирая только записи, удовлетворяющие заданному условию. Например:
SELECT id, name FROM people WHERE id > 2 AND id < 4;
Этот запрос выбирает id и name из таблицы people, где id больше 2 и меньше 4. Можно использовать операторы сравнения: > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), = (равно), != (не равно).
Для проверки на NULL используется оператор IS:
SELECT * FROM people WHERE bio IS NULL;
Этот запрос выбирает все записи, где поле bio имеет значение NULL. Для проверки на не-NULL используется IS NOT NULL.
Комбинирование условий: AND и OR
Операторы AND и OR позволяют комбинировать несколько условий:
SELECT * FROM people WHERE name = 'Иван' OR id = 4;
Этот запрос выбирает записи, где name равно ‘Иван’ или id равно 4. AND требует выполнения всех условий, OR – хотя бы одного.
Удаление дубликатов: DISTINCT
Оператор DISTINCT удаляет дубликаты из результатов запроса:
SELECT DISTINCT name FROM people;
Этот запрос выведет список уникальных значений из столбца name.
Ограничение количества результатов: LIMIT
Оператор LIMIT ограничивает количество возвращаемых записей:
SELECT * FROM people LIMIT 2;
Этот запрос вернет только первые две записи из таблицы people. LIMIT можно использовать с параметром смещения:
SELECT * FROM people LIMIT 2, 3;
Этот запрос пропустит первые два элемента и вернет следующие три.
Сортировка результатов: ORDER BY
Оператор ORDER BY сортирует результаты запроса:
SELECT * FROM people ORDER BY id DESC;
Этот запрос сортирует записи по столбцу id в убывающем порядке (DESC). Для сортировки по возрастанию используется ASC (по умолчанию). ORDER BY должен идти перед LIMIT.
Дополнительные операторы: BETWEEN, IN, LIKE
Оператор BETWEEN проверяет, находится ли значение в заданном диапазоне; IN проверяет, содержит ли список значений заданное значение; LIKE используется для поиска по шаблонам. Примеры использования этих операторов приведены ниже:
SELECT * FROM people WHERE id BETWEEN 2 AND 6 AND id != 4 ORDER BY id DESC LIMIT 10; -- BETWEEN
SELECT * FROM people WHERE id IN (4, 5, 2, 1); -- IN
SELECT * FROM people WHERE name LIKE 'И%'; -- LIKE
LIKE использует символ % как подстановочный знак, соответствующий любому количеству символов.
В этом уроке мы рассмотрели основные операторы SQL для выборки данных: WHERE, ORDER BY, LIMIT, DISTINCT, BETWEEN, IN и LIKE. Комбинируя эти операторы, можно создавать сложные и эффективные запросы для получения необходимой информации из базы данных.