321.59K
Категория: Базы данныхБазы данных

Презентация1

1.

Язык SQL

2.

Язык SQL

3.

Язык SQL
Основные операторы DQL:
SELECT - отобрать (извлечь) строки из
таблиц

4.

SELECT
Предназначен для выборки информации из
таблиц БД и представления нужным образом
результата.
Для выборки необходимо указать как минимум
две вещи:
⚪ что выбрать,
⚪ откуда выбрать.

5.

SELECT

6.

SELECT
Для выборки данных используется команда SELECT.
SELECT [ALL|DISTINCT] <список столбцов>
FROM <имя таблицы>
[JOIN <имя таблицы> ON <условия связывания>]
[WHERE <условия выборки>]
[GROUP BY <список столбцов для группировки>
[HAVING <условия выборки групп>] ]
[ORDER BY <список столбцов для сортировки>]

7.

Структура БД «Библиотека»

8.

SELECT
Простейший запрос:
SELECT *
FROM "book";

9.

SELECT
УКАЗАНИЕ НАБОРА СТОЛБЦОВ
SELECT "id", "title", "year"
FROM "book";

10.

SELECT
Переименование столбца в выдаче
SELECT "id", "title" AS "t", "year"
FROM "book";

11.

SELECT
ФИЛЬТРАЦИЯ ДАННЫХ
SELECT "id", "title", "year"
FROM "book"
WHERE "year" > 1970 AND
"year" <= 2000;

12.

SELECT
ФИЛЬТРАЦИЯ ДАННЫХ
SELECT "id", "title", "year"
FROM "book"
WHERE "year" BETWEEN 1970 AND 2000;

13.

SELECT
ФИЛЬТРАЦИЯ ДАННЫХ
SELECT *
FROM "author"
WHERE "death_year" IS NULL;

14.

SELECT
Сортировка выдачи
SELECT *
FROM "author"
ORDER BY "surname";

15.

SELECT
Сортировка выдачи
SELECT *
FROM "book"
ORDER BY "year", "title" DESC;

16.

Выборка данных из нескольких
таблиц
CROSS
LEFT
JOIN
CROSS JOIN
INNER JOIN
INNER JOIN
OUTER JOIN
LEFT
JOIN
RIGHT OUTER JOIN
RIGHT JOIN
FULL
FULL
OUTER JOIN
JOIN

17.

Выборка данных из нескольких
таблиц
Краткий синтаксис
Полный синтаксис
Описание
JOIN
INNER JOIN
Из строк левой_таблицы и
правой_таблицы объединяются и
возвращаются только те строки, по
которым выполняются
условия_соединения.
LEFT JOIN
LEFT OUTER JOIN
Возвращаются все строки
левой_таблицы (ключевое слово
LEFT). Данными правой_таблицы
дополняются только те строки
левой_таблицы, для которых
выполняются условия_соединения.
Для недостающих данных вместо
строк правой_таблицы вставляются
NULL-значения.

18.

Выборка данных из нескольких
таблиц
Краткий синтаксис
Полный синтаксис
Описание
RIGHT JOIN
RIGHT OUTER JOIN
Возвращаются все строки
правой_таблицы (ключевое слово
RIGHT). Данными левой_таблицы
дополняются только те строки
правой_таблицы, для которых
выполняются условия_соединения.
Для недостающих данных вместо
строк левой_таблицы вставляются
NULL-значения.
CROSS JOIN
-
Объединение каждой строки
левой_таблицы со всеми строками
правой_таблицы.
Этот вид соединения иногда
называют декартовым
произведением.

19.

Выборка данных из нескольких
таблиц
Краткий синтаксис
Полный синтаксис
Описание
FULL JOIN
FULL OUTER JOIN
Возвращаются все строки
левой_таблицы и правой_таблицы.
Если для строк левой_таблицы и
правой_таблицы выполняются
условия_соединения, то они
объединяются в одну строку. Для
строк, для которых не выполняются
условия_соединения, NULL-значения
вставляются на место
левой_таблицы, либо на место
правой_таблицы, в зависимости от
того данных какой таблицы в строке
не имеется.

20.

Выборка данных из нескольких
таблиц
SELECT *
FROM "book" CROSS JOIN
"cover_type";
SELECT *
FROM "book", "cover_type";

21.

Выборка данных из нескольких
таблиц
SELECT *
FROM "book" CROSS JOIN "cover_type"
WHERE "book"."cover_type_id"
= "cover_type"."id";

22.

Выборка данных из нескольких
таблиц
SELECT *
FROM "book" INNER JOIN "cover_type"
ON
"book"."cover_type_id"
= "cover_type"."id";

23.

Выборка данных из нескольких
таблиц
SELECT *
FROM "user" INNER JOIN "reader"
ON "user"."id"
=
"reader"."id";

24.

Выборка данных из нескольких
таблиц
SELECT *
FROM "user" INNER JOIN "reader"
USING
("id");

25.

Агрегирование данных
Агрегация данных — это способ преобразования
набора данных в одно результирующее значение. Это
значение описывает исходный набор данных с точки
зрения того, какая именно агрегация была выбрана.
Агрегированные данные — это набор нескольких
значений, описывающих исходные данные.
Агрегированные данные позволяют охарактеризовать
данные вне зависимости от их объема в наборе. Чем
больше агрегаций, тем точнее.

26.

Агрегирование данных
SELECT MIN("year") FROM "book";
SELECT MAX("year") FROM "book";
SELECT AVG("year") FROM "book";
SELECT SUM("year") FROM "book";
English     Русский Правила