Загрузил ilya.sm95

Введение в SQL

реклама
Введение в SQL
Что такое - Запрос
2
Запрос по поводу
Запрос
Данных в таблице(ах)
Инициирует
Обрабатывается
Отвечает на запрос –
возвращает результат
Пользователь
SQL
Server
Команды SQL
SQL (Structured Query Language) Структурированный Язык Запросов
Команды SQL
Управления и
манипулирования
данными
Запросы к данным
INSERT, UPDATE, DELETE
SELECT
3
4
Схема БД
Таблица
сотрудников
Таблица
подразделений
Таблица
Поле
Назначение
Depart
ID
Первичный ключ
Depart
Name
Наименование подразделения
Depart
Room
Номер кабинета
Personal
ID
Первичный ключ
Personal
Name
Имя сотрудника
Personal
Sal
Оклад сотрудника
Personal
Code_dep
Внешний ключ на таблицу Depart
Команда INSERT
5
Вставка данных в Таблицу БД
Синтаксис:
INSERT [INTO] <Имя_таблицы>
VALUES <Значения>
Пример:
Insert into Depart values (1,'Плановый', '25')
Команда UPDATE
Обновление строк таблицы БД
Синтаксис:
UPDATE <Имя_таблицы>
SET <Имя_столбца = Значение>
[WHERE <Критерии фильтра>]
Пример:
Update Depart Set Room = '12' Where ID = 1
6
Команда DELETE
7
Удаление строк данных из таблицы БД
Синтаксис:
DELETE FROM <Имя_таблицы>
[WHERE <Критерии фильтра>]
Пример:
Delete From Depart Where ID = 1
Команда SELECT
• Извлекает строки и столбцы из
таблицы БД.
• Может извлекать данные из
нескольких таблиц БД.
• Может фильтровать данные по
условию.
8
Команда SELECT (2)
Синтаксис:
SELECT <Поле1>, <Поле2>…
FROM <Имя_таблицы >
[WHERE <Критерии фильтра>]
9
Пример
Пример 1: Select Name from Personal
Пример 2: Select * from Personal
(Выбрать все данные из таблицы)
10
Оператор ORDER BY
11
• Оператор ORDER BY сортирует
результаты запроса по одному или более
столбцам.
• Сортировка может быть возрастающей
(ASC) или убывающей (DESC).
• По умолчанию, записи сортируются в
порядке возрастания.
Пример
12
Пример 3:
Select Name From Personal ORDER BY Name
Пример 4:
Select Name From Personal ORDER BY Name Desc
Оператор DISTINCT
DISTINCT предназначен для устранения
двойных строк (копий) в результате запроса
Пример 5:
SELECT DISTINCT Sal FROM Personal
13
Агрегатные функции
• Генерирует итоговые значения.
• Генерирует отдельное значение по всему
отобранному набору строк.
Агрегатные функции:
AVG – среднее значение;
SUM – сумма;
MAX – максимальное значение;
MIN – минимальное значение;
COUNT – количество.
14
Пример
Пример 6:
Select MAX(ID) from Personal
Пример 7:
Select SUM(Sal) from Personal
Пример 8:
Select Count(ID) from Personal
15
Оператор группировки
GROUP BY
• Делит таблицу на группы записей, где
каждая группа имеет общее значение
поля группировки
Пример 9:
Select Code_dep, SUM(Sal)
from Personal Group by Code_dep
16
Оператор WHERE
17
• Мы можем использовать различные виды условий
поиска и операторов сравнения при построении
выражения WHERE.
• Следующая таблица перечисляет различные
операторы сравнения которые могут использоваться в
запросе.
Оператор
=
>
<
>=
<=
<>
LIKE
Значение
Равен
Больше чем
Меньше чем
Больше чем или равен
Меньше чем или равен
Не равный
Сравнение (поиск) строк
Задание шаблонов
поиска текста
«%» - знак соответствует любому количеству
символов, включая пробелы.
Пример:
гр% соответствует «гром», «грива» и «грядка», но не
«гейзер» или «обогрев».
с%д соответствует «сад» и «солод».
«_» - знак соответствует любому одному символу.
Пример:
п_л соответствует «пал», «пел» и «пил».
18
Примеры фильтров (1)
Пример 10
Select Name From Depart Where Room Like '1_'
Пример 11
Select Name From Depart Where Name Like 'П%'
19
Примеры фильтров (2)
Пример 12
SELECT * FROM Depart WHERE ID IN (1, 3)
Пример 13
SELECT * FROM Depart
WHERE ID BETWEEN 1 AND 5
20
Объединение таблиц
Объединения используются для
извлечения данных из двух или более
таблиц основанных на логических
отношениях между таблицами
Синтаксис:
Table_A INNER JOIN Table_B ON
(Table_A.<Common_Field> =
Table_B.<Common_Field>)
21
Пример объединения
Пример 14:
SELECT Personal.ID, Personal.Name, Depart.Name
From Personal Inner join Depart
on (Personal.Code_dep = Depart.ID)
22
Альтернативный вариант
запроса с объединением
Пример 15:
SELECT Personal.ID, Personal.Name, Depart.Name
From Personal, Depart
Where Depart.ID = Personal.Code_dep
23
Объединение с фильтром
Пример 16:
SELECT Personal.ID, Personal.Name, Depart.Name
FROM Depart INNER JOIN Personal
ON Depart.ID = Personal.Code_dep
WHERE Depart.Name Like ‘П%’
24
Объединение с фильтром
Пример 17:
SELECT Personal.ID, Personal.Name, Depart.Name
FROM Depart INNER JOIN Personal
ON Depart.ID = Personal.Code_dep
WHERE Depart.Name Like ‘П%’ AND Personal.ID > 2
25
Скачать