Introduction to databases and SQL. Подзапросы. Группировка при выборке. Агрегатные функции. Фильтрация групп. (Лекция 6)
Содержание
- 2. Темы занятия Подзапросы Группировка при выборке Агрегатные функции Фильтрация групп Представления (Views)
- 3. Исходные таблицы
- 4. Подзапросы Подзапрос (subquery) – инструкция выборки, которая содержится внутри другой инструкции выборки. Обычно подзапросы применяют в
- 5. Что может возвращать подзапрос? Произвольная выборка (несколько строк и колонок). Операция EXISTS (NOT EXISTS) может проверить,
- 6. Подзапросы в WHERE – пример 1 Выведем сотрудников с зарплатой SELECT FirstName, LastName FROM Persons WHERE
- 7. Подзапросы в WHERE – пример 2 SELECT FirstName, LastName FROM Persons WHERE Department=(SELECT ID FROM Departments
- 8. Связанный подзапрос Связанный подзапрос (correlated subquery) использует в работе информацию внешнего запроса. Например, проверяет своё условие
- 9. Связанный подзапрос – пример Выведем людей из таблицы Persons, для которых нет соответствующей информации в таблице
- 10. Подзапрос после FROM Подзапрос можно использовать не только в WHERE-части, но и после FROM. В этом
- 11. Группировка при выборке Группировка при выборке – разбивка строк набора данных на непересекающиеся группы. В одну
- 12. Группировка – простейший пример Разобьём строки таблицы Persons на группы по значениям поля Department и выведем
- 13. Группировка – пример 2 Разобьём строки Persons на группы по значениям в полях FirstName и Department:
- 14. Группировка – пример 3 Создадим группы в зависимости от длины FirstName: -- встроенная функция LEN() -
- 15. Группировка – выбираемые колонки Случай 1 – группировка по колонкам, но без выражений. В этом случае
- 16. Группировка – выбираемые колонки SELECT A, B FROM T GROUP BY A, B -- ОК SELECT
- 17. Группировка – выбираемые колонки А как быть с колонками, по которым не проводилась группировка? Их тоже
- 18. Агрегатные функции Агрегатные функции выполняют вычисление на наборе значений и возвращают одиночное значение. Основные агрегатные функции
- 19. Агрегатные функции – синтаксис Функция AVG() возвращает среднее арифметическое набора значений (NULL пропускаются). Если набор пуст,
- 20. Агрегатные функции – синтаксис Функция COUNT() используется в двух форматах. Первый формат аналогичен другим агрегатным функциям
- 21. Использование агрегатных функций Основной вариант – при группировке. Аргументом функции может быть любая колонка набора. Агрегатная
- 22. Использование агрегатных функций Агрегатные функции можно применять и без группировки, в обычном SELECT. Но тогда запрещено
- 23. Группировка и сортировка Предложение GROUP BY можно использовать совместно с предложением ORDER BY. Сортировать можно по
- 24. Группировка и фильтрация GROUP BY можно применить вместе с WHERE. Строки вначале фильтруются, затем происходит группировка:
- 25. Фильтрация групп Как быть, если надо отфильтровать не строки исходного набора, а уже сформированные группы? В
- 26. Фильтрация групп – пример Сгруппируем строки по полю Department и оставим те группы, где Department 'DV':
- 27. Фильтрация групп Сила HAVING в том, что его предикат может содержать агрегатные функции, вычисленные по строкам
- 28. Фильтрация, группировка, сортировка В инструкции SELECT отдельные предложения должны быть записаны в указанном порядке: SELECT .
- 29. Представления Представление (view) – это виртуальная таблица, которая представляет собой именованный запрос. Можно сказать, что представление
- 30. Преимущества представлений Дополнительный уровень абстракции – представления скрывают сложность запросов от «внешнего мира». Дополнительная защита данных
- 31. Создание представления Для создания представления используется инструкция CREATE VIEW. Указывается имя представления и запрос: CREATE VIEW
- 32. Использование представления После создания представление можно использовать в выборках как обычную таблицу: SELECT * FROM view_Persons
- 34. Скачать презентацию