SQLite
SQLite: GROUP BY, HAVING и агрегатные функции — примеры запросов
В этом уроке мы углубимся в продвинутые запросы SQLite, которые помогут вам эффективно фильтровать, сортировать и группировать данные. Эти техники являются неотъемлемой частью работы с базами данных и позволяют максимально эффективно использовать возможности SQLite.
Полезные ссылки по теме:**
Использование WHERE для фильтрации данных
Что такое оператор WHERE
Оператор WHERE используется для фильтрации записей в базе данных по определенным условиям. Он позволяет выбрать только те строки, которые соответствуют заданным критериям.
Примеры использования WHERE
Пример 1: Фильтрация по одному условию
SELECT * FROM employees WHERE age > 30;
Этот запрос выбирает всех сотрудников старше 30 лет.
Пример 2: Фильтрация по нескольким условиям
SELECT * FROM employees WHERE age > 30 AND department = 'Sales';
Этот запрос выбирает всех сотрудников старше 30 лет, работающих в отделе продаж.
Практические примеры
Пример 3: Фильтрация по текстовому полю
SELECT * FROM products WHERE name LIKE 'A%';
Этот запрос выбирает все продукты, название которых начинается на букву «A».
Сортировка результатов с ORDER BY
Объяснение оператора ORDER BY
ORDER BY используется для сортировки результатов запроса по одному или нескольким столбцам. Сортировка может быть выполнена в порядке возрастания (ASC) или убывания (DESC).
Примеры сортировки данных
Пример 1: Сортировка по одному столбцу
SELECT * FROM employees ORDER BY age ASC;
Этот запрос сортирует сотрудников по возрасту в порядке возрастания.
Пример 2: Сортировка по нескольким столбцам
SELECT * FROM employees ORDER BY department ASC, age DESC;
Этот запрос сортирует сотрудников сначала по отделу в порядке возрастания, а затем по возрасту в порядке убывания.
Практические примеры
Пример 3: Сортировка по текстовому полю
SELECT * FROM products ORDER BY name DESC;
Этот запрос сортирует продукты по названию в порядке убывания.
Группировка данных с GROUP BY
Понятие группировки данных
GROUP BY используется для группировки строк, имеющих одинаковые значения в одном или нескольких столбцах. Это особенно полезно при использовании агрегатных функций.
Примеры использования GROUP BY
Пример 1: Группировка по одному столбцу
SELECT department, COUNT(*) FROM employees GROUP BY department;
Этот запрос группирует сотрудников по отделу и считает количество сотрудников в каждом отделе.
Пример 2: Группировка по нескольким столбцам
SELECT department, age, COUNT(*) FROM employees GROUP BY department, age;
Этот запрос группирует сотрудников по отделу и возрасту, считая количество сотрудников в каждой группе.
Практические примеры
Пример 3: Группировка с условием
SELECT department, AVG(salary) FROM employees WHERE age > 30 GROUP BY department;
Этот запрос группирует сотрудников старше 30 лет по отделу и вычисляет среднюю зарплату в каждом отделе.