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

Самоприсъединете се към Oracle с примери

Този урок за Oracle SQL се фокусира върху самостоятелното присъединяване в oracle и предоставя синтаксис, обяснения, примери

Самообединяването в Oracle е присъединяване на таблица на Oracle към самата себе си. Можем да използваме таблицата няколко пъти. Всяко събитие трябва да има псевдоним име. Oracle база данни, докато изпълнява заявката, присъединете се към таблицата със себе си и произведете резултата

Общ синтаксис 
изберете a.col1 ,b.col2  от mytable a,mytable b, където ;

Някои примери за самостоятелно присъединяване в Oracle

(1) Представяне на йерархични данни

Имаме таблица на служителите и искаме да посочим името на служителя, името на мениджъра за всички служители. Имаме и президент, който не прави или докладва  на никого, за да се покаже в заявката

Заявката по-долу със самостоятелно присъединяване с външно присъединяване за извличане на данните в желания формат

Ето някои от точките, на които си струва да обърнете внимание на горната заявка

а. Използвахме различен псевдоним за многократното появяване на таблицата EMP

б. Използвахме лявото външно присъединяване, за да покажем и информацията за президента

(2) Друг пример за извличане на информация за служителите, които имат същата дата на наемане

(3) Можем да използваме самостоятелно присъединяване за транспониране на редовете в колона също. Имаме таблица customer_bill, която има няколко реда за редовете за различен месец в годината и искаме да покажем сумата на сметката за различен месец във формат на колони

Описание клиент_сметка
--------------
Идентификатор на_клиент Varchar2(10)
Номер_сума на сметката
месец_на сметка Varchar2(10)

заявка за таблица

изберете Customer_id,bill_amount,bill_monthот customer_bill wherecustomer_id=1111;

Заявка за транспониране на редове в колона

изберете a.customer_id , b.bill_amount Jan-amount , c.bill_amount Feb-amount ,c.bill_amount Mar-сума от customer_bill a ,customer_bill b,customer_bill c където a.customer_id=b.customer_id ,b.customer_id =customer_id c.customer_id и a.bill_month='JAN' и b.bill_month='FEB' и c.bill_month='MAR' и a.customer_id=1111;

По същия начин  можем да имаме множество употреби на self join в oracle. Моля, уведомете ме, ако ви харесва тази публикация

Сродни статии
oracle sql join :Какво представлява Oracle Joins с примери (Sql joins), Различен тип присъединяване, Inner Join, Outer join, ляво външно съединение, дясно външно присъединяване, кръстосано присъединяване с примери
примери за синтаксис на oracle join :Разгледайте тази публикация за примери за синтаксис на Oracle за присъединяване за вътрешно свързване, кръстосано присъединяване, външно присъединяване, ляво външно присъединяване, дясно външно присъединяване
Метод на присъединяване в Oracle :Тази публикация обяснява различните методи на присъединяване на планове в Oracle, вложен цикъл, сортиране на обединяване, декартово присъединяване, хеш присъединяване, за да разберете
Присъединяване на вложен цикъл в Oracle 11g :Вижте тази страница за всички подробности относно присъединяването на вложен цикъл в oracle, как е различно присъединяването на вложен цикъл в Oracle 11g, как е вложено loop join работи в Oracle
Hash join в Oracle:Вижте тази публикация за подробно описание на Hash join в Oracle, Как е различно от вложено присъединяване на Loop в Oracle


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EBS 12.2.5 и по-нови версии:Несъответствие на бутона на страницата за вход

  2. Изберете стойност на xml елемент в Oracle

  3. Материализирани изгледи - Идентифициране на последното опресняване

  4. Как да създадете изглед в oracle

  5. Мога ли да копирам псевдозаписи :OLD и :NEW в/в съхранена процедура на Oracle?