Язык SQL
Историческая справка
КАК РАБОТАЕТ SQL?
ИНТЕРАКТИВНЫЙ И ВЛОЖЕННЫЙ SQL
ИНТЕРАКТИВНЫЙ И ВЛОЖЕННЫЙ SQL
СУБПОДРАЗДЕЛЕНИЯ SQL
СУБПОДРАЗДЕЛЕНИЯ SQL
ТИПЫ ДАННЫХ
Операторы языка SQL
Правила записи операторов SQL
Операторы определения данных
Синтаксис предложения CREATE TABLE:
Пример
Операторы манипулирования данными
СОЗДАНИЕ ЗАПРОСА
SELECT (ВЫБОР)
FROM
Пример: вывести таблицу Работники
Результат
Вывести табельные номера и имена работников
УДАЛЕНИЕ ИЗБЫТОЧНЫХ ДАННЫХ
Результат:
Добавим DISTINCT
ПЕРЕУПОРЯДОЧЕНИЕ СТОЛБЦА
результат
КВАЛИФИЦИРОВАННЫЙ ВЫБОР ПРИ ИСПОЛЬЗОВАНИИ ПРЕДЛОЖЕНИЙ
Пример
Результат
пример с числовым полем в предложении WHERE
Результат
104.85K
Категория: Базы данныхБазы данных

Язык SQL

1. Язык SQL

Структурированный язык
запросов
Structured Query Language

2. Историческая справка

2
Историческая справка
• 1974 год – Structured English Query
Language (SEQUEL)
• 1987 год – исходный вариант стандарта
• 1989 год – первый международный стандарт
SQL
• 1992 год – версия SQL2
• 1999 год - версия SQL3

3. КАК РАБОТАЕТ SQL?

3
КАК РАБОТАЕТ SQL?
• SQL это язык ориентированный специально
на реляционные базы данных.
• Команды в SQL могут работать со всеми
группами таблиц как с единым объектом и
могут обрабатывать любое количество
информации извлеченной или полученной
из их

4. ИНТЕРАКТИВНЫЙ И ВЛОЖЕННЫЙ SQL

4
ИНТЕРАКТИВНЫЙ И ВЛОЖЕННЫЙ SQL
• Имеются два SQL: Интерактивный и
Вложенный. Большей частью, обе формы
работают одинаково, но используются
различно.
• Интерактивный SQL используется для
функционирования непосредственно в базе
данных, чтобы производить вывод для
использования его заказчиком.

5. ИНТЕРАКТИВНЫЙ И ВЛОЖЕННЫЙ SQL

5
ИНТЕРАКТИВНЫЙ И ВЛОЖЕННЫЙ SQL
• Вложенный SQL состоит из команд SQL
помещенных внутри программ, которые
обычно написаны на некотором другом языке.
• Это делает эти программы более мощными и
эффективными.
• Всё, что касается интерактивного SQL в
основном применимо и к вложенной форме.

6. СУБПОДРАЗДЕЛЕНИЯ SQL

6
СУБПОДРАЗДЕЛЕНИЯ SQL
• Это не различные языки, а разделы команд
SQL сгруппированных по их функциям.
• DDL ( Язык Определения Данных ) - состоит
из команд которые создают объекты
(таблицы, индексы, просмотры, и т.д.) в базе
данных.
• DML (Язык Манипулирования Данными) это набор команд которые определяют
значения, представленные в таблицах в
любой момент времени.

7. СУБПОДРАЗДЕЛЕНИЯ SQL

7
СУБПОДРАЗДЕЛЕНИЯ SQL
• DCD (Язык Управления Данными) состоит
из средств, которые определяют, разрешить
ли пользователю выполнять определенные
действия или нет.

8. ТИПЫ ДАННЫХ

8
ТИПЫ ДАННЫХ
DATA(ДАТА) и TIME(ВРЕМЯ)
MONEY(ДЕНЬГИ)
BINARY (ДВОИЧНЫЕ ДАННЫЕ)
INTEGER(ЦЕЛОЕ ЧИСЛО) и DECIMAL
(ДЕСЯТИЧНОЕ ЧИСЛО) (INT и DEC)
• Тип для текста - CHAR ( или СИМВОЛ )
• Поле типа CHAR имеет определенную длину
• VARCHAR(ПЕРЕМЕННОЕ ЧИСЛО
СИМВОЛОВ) является текстовой строкой,
которая может иметь любую длину

9. Операторы языка SQL

9
Операторы языка SQL
• Любой SQL-оператор состоит из
зарезервированных слов и слов,
определяемых пользователем.
• Для записи операторов в языке принят
свободный формат, но использование
отступов и выравнивания позволяет придать
SQL-программе более читабельный вид.

10. Правила записи операторов SQL

10
Правила записи операторов SQL
• Каждая фраза в операторе начинается с
новой строки;
• Для записи зарезервированных слов
используются ПРОПИСНЫЕ буквы;
• Для записи слов, определяемых
пользователем, используются строчные
буквы;
• Символ | указывает на выбор одного из
нескольких значений;
• {} обязательный элемент;
• [] необязательный элемент;

11. Операторы определения данных

11
Операторы определения данных
• CREATE TABLE
создать таблицу
• DROP TABLE
удалить таблицу
• ALTER TABLE
изменить таблицу
• CREATE VIEW
создать представление
• DROP VIEW
удалить представление
• ALTER VIEW
изменить представление

12. Синтаксис предложения CREATE TABLE:

12
Синтаксис предложения CREATE TABLE:
• CREATE TABLE базовая_таблица (столбец
тип_данных [NOT NULL] [,столбец
тип_данных [NOT NULL]] ...);
• где тип_данных должен принадлежать к
одному из типов данных, поддерживаемых
СУБД

13. Пример

13
Пример
• Описание таблицы РАБОТНИКИ может быть
записано в виде:
• CREATE TABLE РАБОТНИКИ
(ТАБ_ НОМЕР SMALLINT NOT NULL,
ИМЯ CHAR (12) NOT NULL,
ПОЧАС_СТАВКА MONEY,
СПЕЦИАЛЬНОСТЬ
CHAR (10),
ТАБ_НОМЕР МЕНЕДЖЕРА SMALLINT )
• В результате создается пустая базовая таблица
РАБОТНИКИ, а в системный каталог
помещается строка, описывающая эту таблицу.

14. Операторы манипулирования данными

14
Операторы манипулирования данными
• DELETE
удаляет одну или несколько
строк, соответствующих условиям
фильтрации, из базовой таблицы
• INSERT
вставляет одну строку в
базовую таблицу
• UPDATE
обновляет значения одного
или нескольких столбцов в одной или
нескольких строках, соответствующим
условиям фильтрации

15. СОЗДАНИЕ ЗАПРОСА

15
СОЗДАНИЕ ЗАПРОСА
• Запрос – команда, которую вы даете
программе базы данных с целью
вывода определенной информации из
таблиц в память.

16. SELECT (ВЫБОР)

16
SELECT (ВЫБОР)
• Все запросы в SQL состоят из одиночной
команды.
• Эта команда называется – SELECT (ВЫБОР)
• Предназначена для выборки и отображения
данных одной или нескольких таблиц БД.

17. FROM

17
FROM
• ключевое слово, подобно SELECT, которое
должно быть представлено в каждом
запросе.
• Оно содержит имена таблиц, используемых в
качестве источника информации.

18. Пример: вывести таблицу Работники

18
Пример: вывести таблицу Работники
SELECT таб_номер , имя, почас_ставка,
специальность, таб_номер_менеджера
FROM работники
Этот же запрос:
SELECT *
FROM работники

19. Результат

19
Результат
РАБОТНИКИ
ТАБ_
НОМЕР
ИМЯ
ПОЧАС_СТАВКА
СПЕЦИАЛЬНОСТЬ
ТАБ_НОМЕР
МЕНЕДЖЕР
А
1235
ФАРАДЕЙ
12,50
ЭЛЕКТРИК
1311
1412
НЕМО
13,75
ШТУКАТУР
1520
2920
ГАРРЕТ
10,00
КРОВЕЛЬЩИК
2920
3231
МЭЙСОН
17,40
ПЛОТНИК
3231
1520
РИКОВЕР
11,75
ШТУКАТУР
1520
1311
КОЛУМБ
15,50
ЭЛЕКТРИК
1311
3001
БАРРИСТЕР
8,20
ПЛОТНИК
3231

20. Вывести табельные номера и имена работников

20
Вывести табельные номера и имена
работников
• SELECT таб_номер ,имя
• FROM Работники
• Результат:
Таб_ номер
Имя
1235
ФАРАДЕЙ
1412
НЕМО
2920
ГАРРЕТ
3231
МЭЙСОН
1520
РИКОВЕР
1311
КОЛУМБ
3001
БАРРИСТЕР

21. УДАЛЕНИЕ ИЗБЫТОЧНЫХ ДАННЫХ

21
УДАЛЕНИЕ ИЗБЫТОЧНЫХ ДАННЫХ
• DISTINCT (ОТЛИЧИЕ) - аргумент который
устраняет двойные значения из предложения
SELECT.
Пример
• Составить список всех специальностей.
SELECT специальность
FROM Работники

22. Результат:

22
Результат:
Специальность
электрик
штукатур
кровельщик
плотник
штукатур
электрик
плотник

23. Добавим DISTINCT

23
Добавим DISTINCT
• SELECT DISTINCT специальность
• FROM Работники
• Результат:
СПЕЦИАЛЬНОСТЬ
ЭЛЕКТРИК
ШТУКАТУР
КРОВЕЛЬЩИК
ПЛОТНИК

24. ПЕРЕУПОРЯДОЧЕНИЕ СТОЛБЦА

24
ПЕРЕУПОРЯДОЧЕНИЕ СТОЛБЦА
• Вы можете получить их в том порядке
котором хотите.
• SELECT имя, таб№
FROM Работники

25. результат

25
результат
Имя
Таб_ номер
ФАРАДЕЙ
1235
НЕМО
1412
ГАРРЕТ
2920
МЭЙСОН
3231
РИКОВЕР
1520
КОЛУМБ
1311
БАРРИСТЕР
3001

26. КВАЛИФИЦИРОВАННЫЙ ВЫБОР ПРИ ИСПОЛЬЗОВАНИИ ПРЕДЛОЖЕНИЙ

26
КВАЛИФИЦИРОВАННЫЙ ВЫБОР ПРИ
ИСПОЛЬЗОВАНИИ ПРЕДЛОЖЕНИЙ
• SQL дает возможность вам устанавливать
критерии чтобы определить какие строки
будут выбраны для вывода.
WHERE - предложение команды SELECT,
которое задает условие, на основании которого
выбираются строки из заданных таблиц.
Команда извлекает только те строки
из таблицы, для которой это утверждение
верно.

27. Пример

27
Пример
• Например, выбрать имена тех работников,
специальность которых – электрик.
SELECT ИМЯ, СПЕЦИАЛЬНОСТЬ
FROM РАБОТНИКИ
WHERE СПЕЦИАЛЬНОСТЬ = ‘электрик’

28. Результат

28
Результат
ИМЯ
СПЕЦИАЛЬНОСТЬ
ФАРАДЕЙ
ЭЛЕКТРИК
КОЛУМБ
ЭЛЕКТРИК
Результат:

29. пример с числовым полем в предложении WHERE

29
пример с числовым полем в
предложении WHERE
• Определить, у кого из работников
почас_ставка =10?
• SELECT имя, почас_ставка
• FROM Работники
• WHERE почас_ставка=10

30. Результат

30
Результат
ИМЯ
ГАРРЕТ
Почас_ставка
10,00
English     Русский Правила