#3 – Выборка записей с условиями
Видеоурок
Основы SELECT и условий в PostgreSQL
Команда SELECT — это фундамент SQL. Именно с нее начинается работа с базой данных: получение информации, фильтрация, сортировка и анализ данных. Она позволяет выбирать нужные строки и столбцы из таблиц, применять фильтры, сортировать результаты и ограничивать количество выводимых данных.
Простая выборка данных
Самый базовый пример — это получение всех записей из таблицы:
SELECT * FROM users;
Звездочка * обозначает выбор всех столбцов. Если вам нужны только определенные поля — укажите их явно:
SELECT name, email FROM users;
Так вы получите список имён и адресов электронной почты без лишней информации.
Фильтрация с помощью WHERE
Чтобы отфильтровать данные, используется оператор WHERE. Например, получить только пользователей старше 18 лет:
SELECT name, age FROM users WHERE age > 18;
Можно комбинировать условия с помощью логических операторов:
SELECT name, email, age FROM users WHERE age >= 18 AND is_active = TRUE;
Здесь выбираются только активные пользователи старше 18 лет.
Операторы сравнения
В SQL часто используются такие операторы сравнения:
=— равно<>или!=— не равно>,<,>=,<=— больше/меньшеBETWEEN— проверка диапазона значенийIN— проверка наличия значения в спискеLIKE— поиск по шаблону
Примеры:
-- Возраст от 20 до 40
SELECT name, age FROM users WHERE age BETWEEN 20 AND 40;
-- Имя либо Alex, либо John
SELECT name, age FROM users WHERE name IN ('Alex', 'John');
-- Email заканчивается на @mail.com
SELECT name, email FROM users WHERE email LIKE '%@mail.com';
Сортировка и ограничение выборки
Для сортировки используется оператор ORDER BY, а для ограничения количества строк — LIMIT.
SELECT name, age FROM users WHERE age > 20 ORDER BY age DESC LIMIT 5;
Такой запрос вернёт 5 самых старших пользователей старше 20 лет.
Обновление данных с условиями
Иногда нужно не просто выбрать данные, а обновить их на основе условий. Для этого используется команда UPDATE с фильтром WHERE:
UPDATE users SET is_active = FALSE WHERE age < 18;
Здесь мы деактивируем всех пользователей младше 18 лет. Без условия WHERE обновятся все записи в таблице, поэтому фильтрация особенно важна.
Исходный код
Весь код будет доступен после подписки на проект! Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Также стоит посмотреть