Основы SQL. Практическое применение.
Структура
1. Введение в SQL
1. Введение в SQL
2. Типы данных
3. Запросы SELECT
3. Запросы SELECT
4. Запросы с условиями
4. Запросы с условиями
4. Запросы с условиями
4. Запросы с условиями
4. Запросы с условиями
5. Отбор и исключение NULL
5. Отбор и исключение NULL
6. Фильтрация и сортировка
6. Фильтрация и сортировка
6. Фильтрация и сортировка
7. Простые SELECT запросы
7. Простые SELECT запросы
СПАСИБО ЗА ВНИМАНИЕ!
87.36K
Category: databasedatabase

Основы SQL. Практическое применение

1. Основы SQL. Практическое применение.

Джавадов Бахтияр
Аналитик
Финансовый департамент ВТБ

2. Структура

1.
2.
3.
4.
5.
6.
7.
2
Введение в SQL
Типы данных
Запросы SELECT
Запросы с условиями
Отбор и исключение NULL
Фильтрация и сортировка запросов
Простые SELECT запросы

3. 1. Введение в SQL

SQL
(Structured
Query
Language

«Структурированный
язык
запросов»)

это
универсальный компьютерный язык, применяемый
для создания, модификации и управления данными
в реляционной базах данных.
3

4. 1. Введение в SQL

Пример реляционной базы данных
CAR
car_id
brand_id
COLOR
model_id
color_id
color_id
color_name
1
1
1
2 2003
1 Red
2
2
1
3 2005
2 Green
3
2
1
2 2005
3 Blue
MODEL_BRAND
model_id
4
year
brand_id
model_name
BRAND
brand_id
brand_name
1
1 Pathfinder
1 Nissan
2
2 Bluebird
2 Honda
3
2 Civic

5. 2. Типы данных

Типы данных SQL делятся на 3 группы:
• Числовые типы данных. Целые (INT, NUMBER) и
дробные числа (FLOAT, DECIMAL).
• Стринговые
(строковые)
типы
данных.
(VARCHAR, TEXT)
• Календарные типы данных. Дата (DATE) и время
(TIME). (DATETIME, TIMESTAMP)
5

6. 3. Запросы SELECT

SELECT <column_name1>, <column_name2>, …
FROM <table_name> ;
SELECT *
FROM <table_name> ;
Запросы SQL не чувствительны к пробелам и табуляциям, а
также к строчным или прописным буквам.
6

7. 3. Запросы SELECT

Примеры:
SELECT firstname
FROM customer;
SELECT firstname, lastname
FROM customer;
SELECT *
FROM customer;
7

8. 4. Запросы с условиями

SELECT <column_name1>, <column_name2>, …
FROM <table_name>
WHERE <condition1>
AND / OR <condition2>
AND / OR … ;
Для более сложных логических операций можно добавить к
условию операторы AND и OR.
Оператор AND показывает результат при выполнении
одновременно нескольких условий.
Оператор OR показывает результат при выполнении хотя бы
одного из нескольких условий.
8

9. 4. Запросы с условиями

Операторы для работы с числовыми значениями
Операторы
=, <>, <, >, <=, >=
BETWEEN … AND …
NOT BETWEEN … AND …
IN (…)
NOT IN (…)
9
Определение / условие
Стандартные числовые операторы
Число входит в числовой диапазон (включая
диапазон, указанный в операторе)
Число не входит в числовой диапазон (включая
диапазон, указанный в операторе)
Включение числа в числовой список
Исключение числа из числового списка

10. 4. Запросы с условиями

Примеры:
SELECT firstname, lastname, city, country
FROM customer
WHERE customerid = 20;
SELECT *
FROM track
WHERE bytes BETWEEN 5000000 AND 6000000
AND milliseconds >= 300;
SELECT *
FROM track
WHERE albumid IN (40,37,15,222)
OR bytes >= 11000000;
10

11. 4. Запросы с условиями

Операторы для работы со стринговыми значениями
Операторы
=, <>
LIKE, %, _
NOT LIKE, %, _
Равно и не равно значению
Равно значению (не чувствителен к регистрам)
Не равно значению (не чувствителен к регистрам)
%
Используется для поиска символов в значениях
(для любого количества символов)
_
Используется для поиска символов в значениях
(для одного символа)
IN (…)
NOT IN (…)
11
Определение / условие
Включение значения в числовой список
Исключение значения из числового списка

12. 4. Запросы с условиями

Примеры:
SELECT *
FROM track
WHERE composer = 'AC/DC';
SELECT *
FROM track
WHERE composer LIKE '_o_ %'
AND composer NOT LIKE '%f%';
SELECT *
FROM track
WHERE albumid IN (‘Bob Dylan’,’ Roy Z’)
AND milliseconds >= 400000;
12

13. 5. Отбор и исключение NULL

Ячейке, в которой запись данных не производилась либо
значение данных не присваивалась, дается значение по
умолчанию – NULL.
Проще: значение NULL – пустая ячейка.
Отбор и исключение пустых строк производится следующим
образом:
SELECT <column_name1>, <column_name2>, …
FROM <table_name>
WHERE <column_name1> IS/IS NOT NULL
AND / OR <condition2>
AND / OR … ;
13

14. 5. Отбор и исключение NULL

Примеры:
SELECT *
FROM track
WHERE composer IS NULL
AND bytes > 100000
AND bytes < 1000000 ;
SELECT *
FROM track
WHERE composer IS NOT NULL
AND bytes > 100000
AND bytes < 1000000 ;
14

15. 6. Фильтрация и сортировка

SELECT DISTINCT <column_name1>, <column_name2>, …
FROM <table_name>
WHERE <conditions> ;
SELECT <column_name1>, <column_name2>, …
FROM <table_name>
WHERE <conditions>
ORDER BY <column_name1> ASC/DESC, <column_name2> ASC/DESC, … ;
SELECT <column_name1>, <column_name2>, …
FROM <table_name>
WHERE <conditions>
ORDER BY <column_name1> ASC/DESC, <column_name2> ASC/DESC, …
LIMIT <number_of_records_in> ;
* если доп. условие: { LIMIT <number_of_records_not_in>, <number_of_records_in> }
{ LIMIT <number_of_records_in> OFFSET <number_of_records_not_in> }
15

16. 6. Фильтрация и сортировка

SELECT <column_name1>, <column_name2>, …
FROM <table_name>
WHERE <conditions>
ORDER BY <column_name1> ASC/DESC, <column_name2> ASC/DESC, …
LIMIT <number_of_records_in> ;
• Оператор DISTINCT отбирает уникальные записи.
• Оператор ORDER BY сортирует записи.
• Оператор LIMIT отбирает указанную часть из запроса.
Оператор OFFSET используется с оператором LIMIT, и
исключает указанную часть, сдвигая нашу выборку ниже
по таблице.
16

17. 6. Фильтрация и сортировка

Примеры:
SELECT DISTINCT composer
FROM track
WHERE composer LIKE '_o_ %'
AND composer NOT LIKE '%f%';
SELECT *
FROM track
WHERE composer IS NOT NULL
ORDER BY bytes DESC;
SELECT firstname, lastname, city, country, phone
FROM customer
WHERE country IN ('USA','Canada')
ORDER BY FirstName, LastName
LIMIT 10 OFFSET 5;
17

18. 7. Простые SELECT запросы

Важно соблюдать порядок прописывания запроса:
SELECT <column_name1>, <column_name2>, …
FROM <table_name>
WHERE <conditions>
ORDER BY <column_name1> ASC/DESC, <column_name2> ASC/DESC, …
LIMIT <number_of_records_in> OFFSET <number_of_records_not_in> ;
В простых запросах LIMIT (фильтрация) указывается в
конце, и лишь после идет ORDER BY (сортировка).
18

19. 7. Простые SELECT запросы

Задания:
1. Из таблицы клиентов отобрать всех, кто живет во
Франции и Германии.
2. Из таблицы клиентов отобрать топ 5 городов в США и в
Канаде, отсортировав их по убыванию фамилии клиента.
3. Из таблицы музыкальных произведений отобрать одним
запросом те, у которых размер находится от 1,5 мб до 2
мб и от 20 мб до 21 мб.
4. Из таблицы музыкальных произведений отобрать одним
запросом те, у которых есть композитор. Длительность
которого составляет от 5 до 5,5 минут и размер до 9 мб.
Отсортируйте
по
композитору
и
наименованию
произведения.
18

20. СПАСИБО ЗА ВНИМАНИЕ!

English     Русский Rules