179.84K
Category: databasedatabase

Оператор выбора на языке запросов SQL

1.

Областное государственное автономное
профессиональное образовательное учреждение
«Алексеевский колледж»
ОПЕРАТОР ВЫБОРА НА
ЯЗЫКЕ ЗАПРОСОВ SQL
Зюбан Елена Вячеславовна,
преподаватель
ОГАПОУ «Алексеевский колледж»
Алексеевка, 2022

2.

СОДЕРЖАНИЕ
1. Интерактивный плакат «Оператор ВЫБОРА на языке запросов SQL»
часть1
2. Интерактивный плакат «Оператор ВЫБОРА на языке запросов SQL»
часть2
3. Примеры
4. Упражнения «Найди ошибку»
5. Задание

3.

Синтаксис оператора SELECT
SELECT [ALL|DISTINCT] (<Список полей>|*)
FROM <Список
таблиц>
Здесь Ключевое слово ALL означает, что в результирующий
ВОператор
разделе
FROM
задается
Ключевое
слово
DISTINCT
означает,что
чтов в
Символ
*.
(звездочка)
означает,
выбора
SELECT
набор строк включаются все строки, удовлетворяющие
[WHERE <Предикат-условие
соединения>]
результирующий
набор
включаются
только
результирующий
набор
включаются
Язык
запросов
(Data
Query
Language)
в все
перечень
исходных
отношений
условиям
запроса.выборки
Значит,
вили
результирующий
набор могут
попасть
одинаковые
строки.
И это
нарушение
принципов
различные
строки,
то
есть
дубликаты
строк
SQL
состоит
из
единственного
оператора
столбцы
из
исходных
таблиц
запроса.
[GROUP BY <Список
полей(таблиц)
результата>]
теории отношений
(в отличиезапроса.
от реляционной алгебры,
SELECT.
Этот единственный
оператор
результата
не
включаются
в
набор.
где по умолчанию предполагается отсутствие дубликатов
[HAVING <Предикат-условие
для
группы>]все отношении).
поиска
операции
в каждомреализует
результирующем
реляционной алгебры.
[ORDER BY <Список полей, по которым упорядочить вывод>]

4.

В части
разделе
WHERE
задаются
условия отбора
В
ORDER
BY
задается
В
разделе
HAVING
В
разделе
GROUP
BY
Синтаксис оператора
SELECT
строк результата или условия соединения
список
полей
упорядочения
задаются
предикатызадается
список
полей
кортежей
исходных
таблиц, подобно
операции
SELECT [ALL|DISTINCT]
(<Список
полей>|*)
результата,
то
есть
список
условного
соединения
в
реляционной
алгебре.
условия,
накладываемые
группировки.
FROM <Список таблиц>
полей,
который
определяет
на каждую группу.
порядок
[WHERE <Предикат-условие
выборкисортировки
или соединения>] в
результирующем
отношении.
[GROUP BY <Список полей результата>]
[HAVING <Предикат-условие для группы>]
[ORDER BY <Список полей, по которым упорядочить вывод>]

5.

ПРИМЕР 1
SELECT * FROM teachers;
Выводится все поля таблицы
teachers

6.

ПРИМЕР 2
Чтобы ограничить количество выбранных записей используется служебное
слово LIMIT:
SELECT * FROM имя_таблицы LIMIT 2,3;
В примере происходит выборка 3 записей из таблицы, начиная со 2 записи.
Этот запрос особо необходим при создании блока страниц навигации.

7.

ПРИМЕР 3
Условие WHERE в SQL запросе
Получение всех записей в таблице в одном запросе - это очень редкий случай в реальных
проектах. Зачастую нужна либо одна запись, либо диапазон, к примеру из 10 или 100 записей
либо отвечающее определённому условию. Такую выборку можно сделать с помощью команды
условия WHERE в SQL запросе (слово WHERE переводится с английского как "ГДЕ").
Сравнение (=, !=, <, >, <=, >=)
Продемонстрируем это условие на ограничении выборки по ID пользователя. Приведём сразу
несколько примеров запросов:
SELECT * FROM `USERS` WHERE `ID` = 2;
SELECT * FROM `USERS` WHERE `ID` != 2;
SELECT * FROM `USERS` WHERE `ID` < 2;
SELECT * FROM `USERS` WHERE `ID` <= 2;
SELECT * FROM `USERS` WHERE `ID` > 2;
SELECT * FROM `USERS` WHERE `ID` >= 2;

8.

Bug-report (найди ошибку)
Выведем из «tAuthors» все записи с сортировкой в
алфавитном порядке по первой букве имени автора:
SELECT *
FROM tAuthors
ORDER BY AuthorFirstName DESC;

9.

Bug report
Выведем из «tAuthors» все записи с сортировкой в
алфавитном порядке по первой букве имени автора:
SELECT *
FROM tAuthors
ORDER BY AuthorFirstName;

10.

Bug report
(найди ошибку)
SELECT last name FROM Employees

11.

Bug report
SELECT last_name
FROM Employees

12.

Bug report
(найди ошибку)
Выберем записи из «tAuthors», значение AuthorFirstName у которых
соответствует имени «Александр»:
SELECT * FROM tAuthors WHERE AuthorFirstName=Александр;

13.

Bug report
Выберем записи из «tAuthors», значение AuthorFirstName у которых
соответствует имени «Александр»:
SELECT * FROM tAuthors WHERE AuthorFirstName='Александр';

14.

Bug report
(найди ошибку)
Выберем из «tAuthors» записи, где
имя автора AuthorFirstName
начинается с «се»:
SELECT * FROM tAuthors WHERE
AuthorFirstName LIKE 'се…';

15.

Bug report
Выберем из «tAuthors» записи, где
имя автора AuthorFirstName
начинается с «се»:
SELECT * FROM tAuthors WHERE
AuthorFirstName LIKE 'се%';

16.

Задание
Задание №1. Создать запрос на выборку в режиме SQL всех значений
полей ИМЯ и ФАМИЛИЯ из таблицы СПИСОК.
Задание №2. Создать запрос на выборку в режиме SQL всех столбцов
таблицы СПИСОК.
Задание №3. Создать запрос на выборку в режиме SQL названий городов,
где проживают студенты, сведения о которых находятся в таблице
ЛИЧНЫЕ_ДАННЫЕ.
Задание №4. Создать запрос на выборку в режиме SQL, выполняющий
выборку имен всех студентов с фамилией Воробьёв, сведения о которых
находятся в таблице СПИСОК.
Задание №5. Создать запрос на выборку в режиме SQL для получения
имен и фамилий студентов, обучающихся в группе УИТ-41 и получающих
стипендию (размер стипендии больше нуля).
English     Русский Rules