98.38K
Category: databasedatabase

Синтаксические конструкции SQL. Оператор SELECT. Лекция 2

1.

1. Синтаксические конструкции SQL
2. Оператор SELECT
Лекция 2

2.

I. Синтаксические
конструкции SQL
Предложения
Идентификаторы (Имена)
Константы
Операторы
Зарезервированные и ключевые слова
Псевдостолбцы и таблица DUAL

3.

1. Предложения SQL
Любое предложение SQL состоит из
ключевых и зарезервированных слов и
слов, определяемых пользователем в
соответствии с синтаксическими
правилами:

4.

Каждая фраза предложения должна
начинаться с новой строки;
Начало фразы должно быть выравнено с
началом остальных фраз предложения;
Части фразы, не помещающиеся в строку,
должны начинаться с новой строки с
некоторым отступом относительно начало
всей фразы;
Для записи ключевых слов используйте
прописные буквы;
Для записи определяемых пользователем слов
используйте строчные буквы;
Каждое предложение SQL должно
заканчиваться символом точка с запятой (;)

5.

Условные обозначения
Обозначение
Описание
[]
В эти скобки заключаются необязательные
синтаксические единицы
{}
Конструкция, заключенная в эти скобки, должна
рассматриваться как одна синтаксическая единица
|
Используется для разделения альтернативных
синтаксических единиц

Указывает на то, что непосредственно
предшествующая синтаксическая единица может
повторяться один или несколько раз
*
Используется для замены перечня имен всех столбцов
таблицы

6.

Все предложения SQL делятся на
три группы:
Предложения манипуляции данными
(Data Manipulation Language, DML)
Предложения определённых данных
(Data Definition Language, DDL)
Предложения определения доступа к
данным (Data Control Language, DCL)

7.

2. Идентификаторы (имена)
- это пользовательские или системные
имена объектов БД.
Они должны или могут присваиваться
базам данных, таблицам, ограничениям
и правилам в таблице, столбцам
таблицы, индексам, курсорам,
представлениям, процедурам, триггерам
и т.п.

8.

Идентификатор объекта создается при
определении объекта.
CREATE TABLE users
(
id_user int (10) AUTO_INCREMENT,
name varchar(20) NOT NULL,
email varchar(50) NOT NULL,
password varchar(15) NOT NULL,
PRIMARY KEY (id_user)
);

9.

Затем идентификатор используется для
обращения к объектам.
SELECT Товар.Название,
Year(Продажа.Дата) AS Год,
Month(Продажа.Дата) AS Месяц FROM
Товар INNER JOIN Продажа ON
Товар.[Код Товара]=Продажа.[Код
Товара]

10.

3. Константы и NULL-значения
Числовые константы (546, -777, 5Е6б 9Е-2)
Булевы значения (TRUE, FALSE)
Строковые константы (‘группы ИСИП19’)
Даты (08-09-2020 12:15:45, 8СЕНТЯБРЬ-2020)

11.

Специальное значение – NULL (пустое
или несуществующее значение).
Рассматривается как «отсутствие
информации», а не как пустые строки,
пробелы или нули.

12.

4. Операторы
- Это символ или имя, обозначающий
действие, выполняемое над одним или
несколькими выражениями.

13.

Арифметические операторы
Оператор
Описание
+
Сложение
-
Вычитание
*
умножение
/
деление

14.

Операторы сравнения
Оператор
Описание
=
Равно
>
Больше
<
Меньше
>=
Больше или равно
<=
Меньше или равно
<>
Не равно
IS NULL
Имеет ли значение NULL
IS NOT NULL
Не имеет ли значение NULL

15.

Логические операторы
Оператор
Описание
ALL
TRUE, если весь набор сравнений даст результат TRUE
AND
TRUE, если оба булевых выражения дают результат TRUE
ANY
TRUE, если хотя бы одно сравнение набора даст результат
TRUE
BETWEEN
TRUE, если операнд находится внутри диапазона
EXISTS
TRUE, если подзапрос возвращает хотя бы одну строку
IN
TRUE, если операнд равен одному выражению из списка или
одной или нескольким строкам, возвращаемым подзапросом
LIKE
TRUE, если операнд совпадает с шаблоном
NOT
Обращает значение любого другого булевого оператора
OR
TRUE, если любое булево выражение равно TRUE
SOME
TRUE, если несколько сравнений из набора дают результат
TRUE

16.

5. Зарезервированные и
ключевые слова
Ключевые слова SQL – это слова,
которые связаны с функционированием
реляционной базы данных, их нельзя
использовать для других целей.

17.

6. Псевдостолбцы, таблица DUAL
Псевдостолбец-это функция, которая
возвращает сгенерированное
системой значение.
таблица DUAL – таблица,
автоматически создаваемая ORACLE
для каждого пользователя. В ней один
столбец с именем DUMMY и типом
данных VARCHAR 2(1). В
единственной строке хранится
значение ‘X’.

18.

II. Оператор SELECT
SELECT (от англ. select — «выбрать») —
оператор запроса (DML/DQL) в
языке SQL, возвращающий набор
данных (выборку) из базы данных.
Оператор возвращает ноль или более
строк. Список возвращаемых столбцов
задается в части оператора,
называемой предложением SELECT.

19.

Оператор SELECT состоит из нескольких
предложений (разделов):
SELECT определяет список возвращаемых столбцов (как
существующих, так и вычисляемых), их имена,
ограничения на уникальность строк в возвращаемом
наборе, ограничения на количество строк в
возвращаемом наборе;
FROM задаёт табличное выражение, которое определяет
базовый набор данных для применения операций,
определяемых в других предложениях оператора;
WHERE задает ограничение на строки табличного
выражения из предложения FROM;
GROUP BY объединяет ряды, имеющие одинаковое
свойство с применением агрегатных функций
HAVING выбирает среди групп, определённых
параметром GROUP BY
ORDER BY задает критерии сортировки строк;
отсортированные строки передаются в точку вызова.

20.

Оператор SELECT имеет
следующую структуру:
SELECT [ALL | DISTINCT ]
{*|[имя_столбца
[AS новое_имя]]} [,...n]
FROM имя_таблицы [[AS] псевдоним]
[,...n]
[WHERE ] <условие поиска>
[GROUP BY имя_столбца [,...n]]
[HAVING <критерии выбора групп>]
[ORDER BY имя_столбца [,...n]]

21.

Параметры оператора
WHERE — используется для
определения, какие строки должны
быть выбраны или включены в GROUP
BY.

22.

GROUP BY
— необязательный параметр
операторa SELECT, для группировки строк
по результатам агрегатных функций (MAX,
SUM, AVG, …).
Необходимо, чтобы в SELECT были заданы
только требуемые в выходном потоке
столбцы, перечисленные в GROUP BY и/или
агрегированные значения.
Распространённая ошибка — указание в
SELECT столбца, пропущенного в GROUP
BY.

23.

HAVING
фильтруются группы строк объекта в
соответствии с указанным условием;

24.

ORDER BY
Сортировка может производиться как по
возрастанию, так и по убыванию
значений.
Параметр ASC (по умолчанию)
устанавливает порядок сортировки по
возрастанию, от меньших значений к
большим.
Параметр DESC устанавливает порядок
сортировки по убыванию, от больших
значений к меньшим.

25.

Оператор LIKE
используется в предложении WHERE для
поиска заданного шаблона в столбце.
В сочетании с оператором LIKE
используются два подстановочных
знака:
% - Знак процента представляет
нулевой, один или несколько символов
_ - Подчеркнутый символ представляет
собой один символ
English     Русский Rules