Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

SELECT emp_id

Повторное использование таблицы | Рекурсивные соединения | Сравнение эквисоединений с неэквисоединениями | Gt; FROM employee e1 INNER JOIN employee e2 | Сравнение условий соединения и условий фильтрации | Упражнения | Основы теории множеств | Теория множеств на практике | Gt; FROM individual _> UNION ALL | SELECT cust_id, fname, lname |


Читайте также:
  1. Gt; SELECT cust_id _> FROM account
  2. International operation and intermediary selection
  3. Market Selection
  4. Mysql> SELECT account_id, product_cd, cust_id, avail_balance _> FROM account
  5. Mysql> SELECT cust_id, cust_type_cd, city, state, fed_id _> FROM customer
  6. Mysql> SELECT emp_id, fname, lname, start_date, title _> FROM employee
  7. Mysql> SELECT name

 

FROM employee

 

WHERE assigned_branch_id = 2

 

AND (title = 'Teller' OR title = 'Head Teller')

 

EXCEPT

 

SELECT DISTINCT open_emp_id

 

FROM account


 

Операторы работы с множествами  
   

 

WHERE open_branch_id = 2;

 

+________+ | emp_id | +________+

 

| 11 |

 

| 12 |

+________+

 

2 rows in set (0.01 sec)

 

В этом варианте запроса результирующий набор включает три строки из результирующего набора первого запроса минус сотрудник с ID, равным 10, который присутствует в результирующих наборах обоих запросов. В спецификации SQL ANSI также описан оператор except all, но опять же он реализован только в DB2 Universal Server IBM.

 

В операторе except all есть небольшая хитрость. Вот пример, показы_ вающий, как обрабатываются дублирующие данные. Скажем, есть два множества данных, имеющих следующий вид:

Множество A

 

+________+ | emp_id | +________+

 

| 10 |

 

| 11 |

 

| 12 |

 

| 10 |

 

| 10 |

+________+

Множество B

 

+________+ | emp_id | +________+

 

| 10 |

 

| 10 |

+________+

В результате операции A except B получаем следующее:

 

+________+ | emp_id | +________+

 

| 11 |

 

| 12 |

+________+

Если изменить операцию и применить A except all B, увидим следующее:

 

+________+ | emp_id | +________+

 

| 10 |

 

| 11 |

 

  Глава 6. Работа с множествами
   
| 12 |

+________+

 

Следовательно, разница между этими двумя операциями в том, что ex_ cept удаляет все экземпляры дублирующихся данных из множества А, тогда как except all удаляет из множества А только один экземпляр дуб_ ликата данных для каждого экземпляра дубликата данных множества В.

 


Дата добавления: 2015-08-17; просмотров: 54 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Оператор except| Правила операций с множествами

mybiblioteka.su - 2015-2024 год. (0.005 сек.)