Изучаем sql



Pdf көрінісі
бет102/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   98   99   100   101   102   103   104   105   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT emp_id
> FROM employee
> WHERE assigned_branch_id = 2
> AND (title = 'Teller' OR title = 'Head Teller')
> UNION ALL
> SELECT DISTINCT open_emp_id
> FROM account
> WHERE open_branch_id = 2;
++
| emp_id |
++
| 10 |
| 11 |
| 12 |
| 10 |
++
4 rows in set (0.01 sec)
Первый запрос составного выражения выбирает всех операционистов
отделения Woburn, а второй возвращает другое множество – операцио
нистов, открывавших счета в отделении Woburn. Из четырех строк ре


Операторы работы с множествами
115
зультирующего набора одна дублируется (ID сотрудника – 10). Если
бы потребовалось 
исключить 
дублирующие строки из составной таб
лицы, вместо оператора 
union
all
надо было бы использовать оператор
union
:
mysql> 
SELECT emp_id
> FROM employee
> WHERE assigned_branch_id = 2
> AND (title = 'Teller' OR title = 'Head Teller')
> UNION
> SELECT DISTINCT open_emp_id
> FROM account
> WHERE open_branch_id = 2;
++
| emp_id |
++
| 10 |
| 11 |
| 12 |
++
3 rows in set (0.01 sec)
Для данной версии запроса с применением оператора 
union
all
в резуль
тирующий набор включаются только три разные строки, а не четыре
(три разные, одна дублирующаяся).
Оператор intersect
Спецификация SQL ANSI включает оператор 
intersect
(пересечение),
предназначенный для выполнения пересечений. К сожалению, MySQL
версии 4.1 не реализует оператор 
intersect
. Oracle (но не SQL Server) по
зволяет использовать 
intersect
. Однако поскольку для всех примеров
данной книги используется MySQL, результирующие наборы для при
меров запросов в данном разделе являются вымышленными и не могут
быть получены в MySQL до версии 5.0 включительно. Здесь не показа
но приглашение MySQL (
mysql>
), потому что эти выражения не выпол
няются сервером MySQL.
Если два запроса составного запроса возвращают неперекрывающиеся
таблицы, пересечением будет пустое множество. Рассмотрим следую
щий запрос:


Достарыңызбен бөлісу:
1   ...   98   99   100   101   102   103   104   105   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет