Похожие презентации:
Презентация1
1.
Язык SQL2.
Язык SQL3.
Язык SQLОсновные операторы DQL:
SELECT - отобрать (извлечь) строки из
таблиц
4.
SELECTПредназначен для выборки информации из
таблиц БД и представления нужным образом
результата.
Для выборки необходимо указать как минимум
две вещи:
⚪ что выбрать,
⚪ откуда выбрать.
5.
SELECT6.
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";
Базы данных