Oracle
 sql >> база данни >  >> RDS >> Oracle

Оператори на набор от Oracle

Използване на оператори на набор от Oracle (Union, Union All, Intersect и Minus/Except)

Операторите Oracle Set могат да се използват за избор на данни от множество таблици. Те комбинират резултатите от две или повече заявки. Когато използвате операторите Set

a) Всяка клауза SELECT трябва да има същия брой колони

б) Колоната трябва да е от същия тип данни

в) Колоната трябва да бъде посочена в същия ред във всички избрани клаузи.

Има 4 набора оператора:

СЪЮЗ Връща всички уникални редове, върнати от двете заявки
СЪЮЗ ВСИЧКИ Връща всички редове, включително дубликати
ПРЕСЕЧКА Връща само редовете, върнати от двете заявки
МИНУС Връща уникални редове, избрани от първата заявка, но не и редовете, избрани от втората заявка

Оператор на Oracle Union :

Операторът Oracle Union се използва за комбиниране на набори от резултати от два или повече оператора SELECT. Той комбинира двата резултата от SELECT и премахва дублиращи се редове между тях. Така че основно връща отделните редове

ИЗБЕРЕТЕ име_на град ОТ CUST_DATA
СЪЮЗ
ИЗБЕРЕТЕ име_на град ОТ SUPP_DATA;

Тази заявка ще върне отделни редове  на градове от „Cust_data“ и „Supp_data“

Oracle Union All

Операторът Oracle Union All се използва за комбиниране на набори от резултати от два или повече оператора SELECT. Той съчетава двата резултативни набора на SELECT и return , както е. Така че може да съдържа и дубликат в зависимост от набора от данни

SELECT city_name FROM CUST_DATA
UNION All
SELECT city_name FROM SUPP_DATA
;

Тази заявка ще върне всички редове (също дублиращи се редове)  на градове от „Cust_data“ и „Supp_data“

Разлика между  Union и Union All в Oracle

Union връща отделните редове, докато Union all връща всички редове. Затова трябва да бъдем много внимателни, когато избираме тези оператори за набор

Oracle Intersect

Операторът Oracle Intersect се използва за комбиниране на набори от резултати от два или повече  оператора SELECT. Той съчетава двата набора от данни на SELECT и връща отделните общи редове между изразите. Така че, ако запис съществува в една заявка, а не в другата, той ще бъде пропуснат от резултатите INTERSECT.

Резултатите са показани от щрихованата част на фигурата по-горе

SELECT city_name FROM CUST_DATA
INTERSECT
SELECT city_name FROM SUPP_DATA
;

Тази заявка ще върне общо име на града от „Cust_data“ и „Supp_data“

Разлика между пресичане срещу присъединяване

1) Оператор INTERSECT се използва за извличане на общите записи от двете клауза select на Intersect оператора, докато Join се използва за извличане на данни от две таблици въз основа на определено условие
2) INTERSECT прави сравнението за всички колони, докато INNER JOIN само посочените колони.
3) Операторът INTERSECT връща почти същите резултати като клаузата INNER JOIN много пъти.

Oracle минус

Операторът Sql минус се използва за комбиниране на набори от резултати от два или повече оператора SELECT. Той комбинира и двата оператора SELECT и връща  редовете, които са избрани от първия оператор за избор и след това премахва от набора от данни всички редове, извлечени от втория оператор за избор

Резултатите са показани от щрихованата част на фигурата по-горе

SELECT city_name FROM CUST_DATA
MINUS
SELECT city_name FROM SUPP_DATA
;

Тази заявка ще върне  името на града от „Cust_data“ минус името на града „Supp_data“

Тук, тъй като всички данни, върнати от оператора select, са едни и същи, той не генерира никакви редове.

Нека вмъкнем един различен ред в cust_data и да видим резултатите

Сега нека видим дали правим минус cust_data от supp_data

SELECT city_name FROM SUPP_DATA
MINUS
SELECT city_name FROM CUST_DATA
;

Ние не минус оператор в  Много RDBMS като sql сървър, mysql. Там използваме освен на мястото на минус и има същата функционалност като минус

Всички тези оператори на sql набор са валидни за RDBMS, използвани в Market  като Oracle,mysql, sql server, Postgres, Teradata

Сродни статии
изтриване на дублиращи се записи в Oracle:Съвети и начини как да изтриете дублиращи се редове от таблицата на Oracle. Дават се различни опции за изтриване на дублиращи се редове без проблеми
Уроци за Oracle Sql :Съдържа списъка с всички полезни статии за Oracle sql. Разгледайте ги, за да научите за Oracle Sql, дори ако познавате Oracle Sql
Въпроси за интервю за Oracle :Вижте тази страница за 49-те най-добри въпроси и отговори за интервюта с Oracle:Основи, Oracle SQL, за да ви помогне в интервютата. Предоставя се и допълнителен материал
where клауза в oracle :Ограничаване на набора от данни, клауза where, клауза what is where в sql израз, оператор за сравнение
функции на един ред в Oracle :Вижте това, за да разберете едноредови функции в sql, Oracle данни функции,Числови функции в sql ,Символна функция в sql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на RAC за база данни с файлове с данни

  2. Как да създадете директория в Oracle?

  3. как да замените буквата с ударение в колона varchar2 в oracle

  4. Заявката, включваща външни присъединявания, се държи по различен начин в Oracle 12c

  5. Управляван ODP.NET драйвер не се показва в диалоговия прозорец за източник на данни