Использование Set операторов

Содержание

Слайд 2

Цели занятия

Чему мы научимся на данном занятии:
Характеризировать set операторы
Использовать set операторы для

Цели занятия Чему мы научимся на данном занятии: Характеризировать set операторы Использовать
объединения нескольких запросов в один запрос.
Контролировать порядок возвращаемых строк.

Слайд 3

Set операторы

UNION/UNION ALL

A

B

A

B

A

B

INTERSECT

A

B

MINUS

Set операторы UNION/UNION ALL A B A B A B INTERSECT A B MINUS

Слайд 4

Таблицы, используемых в этом уроке.

EMPLOYEES: Содержит подробную информацию обо всех действующих сотрудниках.
JOB_HISTORY:

Таблицы, используемых в этом уроке. EMPLOYEES: Содержит подробную информацию обо всех действующих
Хранит записи о дате начала и дате окончания работы, идентификационные номера сотрудника и отдела, дату смены сотрудником рабочего места.

Слайд 5

Оператор UNION

Оператор UNION возвращает результаты из обоих запросов, после устранения дублирования.

Оператор UNION Оператор UNION возвращает результаты из обоих запросов, после устранения дублирования.

Слайд 6

Использование оператора UNION

Отображаем текущее и предыдущее место работы всех сотрудников. Выводим информацию

Использование оператора UNION Отображаем текущее и предыдущее место работы всех сотрудников. Выводим
по каждому сотруднику только один раз.

SELECT employee_id, job_id
FROM employees
UNION
SELECT employee_id, job_id
FROM job_history;



Слайд 7

Оператор UNION ALL

Оператор UNION ALL возвращает результаты из обоих запросов, в том

Оператор UNION ALL Оператор UNION ALL возвращает результаты из обоих запросов, в том числе все дубли.
числе все дубли.

Слайд 8

Использование оператора UNION ALL

Отображение текущих и предыдущих отделов всех сотрудников.

SELECT employee_id, job_id,

Использование оператора UNION ALL Отображение текущих и предыдущих отделов всех сотрудников. SELECT
department_id
FROM employees
UNION ALL
SELECT employee_id, job_id, department_id
FROM job_history
ORDER BY employee_id;



Слайд 9

Оператор INTERSECT

A

B

Оператор INTERSECT возвращает строки, которые являются общими для обоих запросов.

Оператор INTERSECT A B Оператор INTERSECT возвращает строки, которые являются общими для обоих запросов.

Слайд 10

Использование оператора INTERSECT

Выводим идентификаторы сотрудников и идентификаторы их места работы, которые в

Использование оператора INTERSECT Выводим идентификаторы сотрудников и идентификаторы их места работы, которые
настоящее время работают на должности, на которую они были первоначально наняли (то есть, они меняли рабочее места, но теперь вернулись).

SELECT employee_id, job_id
FROM employees
INTERSECT
SELECT employee_id, job_id
FROM job_history;

Слайд 11

MINUS Operator

A

B

Оператор MINUS возвращает строки из первого запроса, которые не присутствуют во

MINUS Operator A B Оператор MINUS возвращает строки из первого запроса, которые не присутствуют во втором.
втором.

Слайд 12

Оператор MINUS

Выведем идентификаторы тех сотрудников, которые не меняли своё рабочее место ни

Оператор MINUS Выведем идентификаторы тех сотрудников, которые не меняли своё рабочее место
разу.

SELECT employee_id,job_id
FROM employees
MINUS
SELECT employee_id,job_id
FROM job_history;


Слайд 13

Рекомендации по использованию Set операторов

Выражения в clause SELECT должны совпадать по количеству

Рекомендации по использованию Set операторов Выражения в clause SELECT должны совпадать по
столбцов и типу их данных.
Для clause ORDER BY:
Может использоваться только в самом конце выражения
Будет использовать название столбца или его псевдоним из первого SELECT оператора.

Слайд 14

Сервер Oracle и Set операторы

Повторяющиеся строки автоматически устраняются, за исключением UNION ALL.
Имена

Сервер Oracle и Set операторы Повторяющиеся строки автоматически устраняются, за исключением UNION
столбцов из первого запроса появляются в результате.
Результаты по умолчанию будут отсортированы в порядке возрастания, за исключением UNION ALL.

Слайд 15

Сопоставление значений

Используя оператор UNION, выведем ID департамента, место его расположения и дату

Сопоставление значений Используя оператор UNION, выведем ID департамента, место его расположения и
приёма всех сотрудников.

SELECT department_id, TO_NUMBER(null)
location, hire_date
FROM employees
UNION
SELECT department_id, location_id, TO_DATE(null)
FROM departments;


Слайд 16

Управление порядком вывода строк

Вывести предложение, используя два оператора UNION.

COLUMN a_dummy NOPRINT
SELECT 'sing'

Управление порядком вывода строк Вывести предложение, используя два оператора UNION. COLUMN a_dummy
AS "My dream", 3 a_dummy
FROM dual
UNION
SELECT 'I''d like to teach', 1 a_dummy
FROM dual
UNION
SELECT 'the world to', 2 a_dummy
FROM dual
ORDER BY a_dummy;

Слайд 17

Итог

Чему мы научились из данной лекции :
Использование UNION позволяет получить все записи

Итог Чему мы научились из данной лекции : Использование UNION позволяет получить
без дублей (уникальные).
Использование UNION ALL позволяет получить все записи, включая дублирующие.
Использование INTERSECT позволяет получить все записи, которые есть в обоих запросах.
Использование MINUS позволяет получить все уникальные записи, которые есть в первом запросе, но нет во втором.
Использование ORDER BY возможно только в самом конце выражения

Слайд 18

Практика: План

На данной практике будут охвачены следующие темы :
Использование оператора UNION
Использование оператора

Практика: План На данной практике будут охвачены следующие темы : Использование оператора
INTERSECT
Использование оператора MINUS
Имя файла: Использование-Set-операторов.pptx
Количество просмотров: 38
Количество скачиваний: 0