Uvod v združitve v Oracle

Zdruzi v Oracle se uporabljajo za dostop do podatkov iz več tabel. Pridružitev v oracle se uporablja na mestu, kjer je treba združiti več kot dve tabeli za zbiranje koristnih informacij v stavku Oracle SQL. Z drugimi besedami, poizvedba za pridruževanje, ki se uporablja za pridobivanje vrstic iz več kot dveh tabel ali pogledov glede na pogoje združevanja. Pogoj združevanja je mogoče določiti v določbi FROM ali v klavzuli where. Pogoj združevanja primerja stolpce različnih tabel in pridobi tiste vrstice, za katere je pogoj pridružitve resničen.

Vrste združitev v Oracle

V Oracle je deset različnih vrst združevanja, kot je navedeno spodaj:

  • Notranji pridružitve (znan tudi kot Simple Joins)
  • Equi se pridruži
  • Zunanji se pridruži
  • Levo Zunanji Spoji (imenovani tudi Left Joins)
  • Desna zunanja združitev (imenovana tudi desna združitev)
  • Popolne zunanje združitve (imenovane tudi kot polne združitve)
  • Self se pridruži
  • Navzkrižne povezave (imenovane tudi kot kartezijanski izdelki)
  • Anti Joins
  • Semi pridruži

Nato podrobno razumemo vsako povezavo s skladnjo in primeri.

1. UNUTAR PRIDRUŽITE se (znan tudi kot Simple Join)

Notranji pridruži se pridruži več tabel in vrne tiste vrstice, za katere je pogoj pridružitve resničen. Notranji spoj je najpogostejši spoj med vrstami spojev.

Sintaksa:

SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;

Spodnji diagram predstavlja vizualno predstavitev notranjega spoja, kot je v diagramu vrnitev v senci kot rezultat Oracle INNER JOIN:

Oracle INNER JOIN posledično vrne presekajoče se zapise t1 in t2.

Primer:

SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee
INNER JOIN department
ON employee.employee _id = department.employee _id;

Zgornji primer Oracle INNER JOIN bo vrnil vse vrstice iz tabel za zaposlene in oddelke, kjer se vrednost _id zaposlenega v tabeli zaposlenega in oddelka ujemata.

2. Equi se pridruži

Oracle Equi Joins pridobiva ujemajoče se vrednosti stolpcev iz več tabel. Pogoj združevanja ali primerjalni operater, ki je prisoten v klavzuri WHERE izbirne izjave.

Sintaksa:

SELECT column (, column ) FROM t1, t2
where t1.column = t2.column;

Spodnji diagram predstavlja vizualno predstavitev equijoina, kot je na diagramu vrnitev v senci kot rezultat povezave Oracle Equi Join.

Oracle Equijoin kot rezultat vrne presekajoče se zapise t1 in t2.

Primer:

SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee, department
where employee.employee _id = department.employee _id;

Zgornji primer Oracle Equijoin bo vrnil vse vrstice iz tabel za zaposlene in oddelke, kjer se vrednost _ida zaposlenega v tabeli zaposlenih in oddelka ujemata.

3. Zunanji se pridruži

Druga vrsta združevanj je zunanji spoj, ki vrne rezultat notranjega združevanja plus vse vrstice iz ene tabele, za katere pogoj združevanja ni resničen.

Sintaksa:

SELECT column (, column ) FROM t1
LEFT | RIGHT | FULL (OUTER) JOIN t2
ON t1.column = t2.column;

Spodaj so navedene tri vrste zunanjih spojev:

  • Levo Zunanji Spoji (imenovani tudi Left Joins)
  • Desna zunanja združitev (imenovana tudi desna združitev)
  • Popolne zunanje združitve (imenovane tudi kot polne združitve)

4. Leva zunanja povezava

Vrnitve Leva zunanja povezava vsebujejo vse vrstice iz leve tabele (v skladu s pogojem VKLJUČENO), iz druge tabele pa samo tiste vrstice, kjer je združeni pogoj resničen.

Sintaksa:

SELECT column (, column ) FROM t1
LEFT (OUTER) JOIN t2
ON t1.column = t2.column;

Ključna beseda LEFT OUTER JOIN uporabite LEFT JOIN v nekaterih drugih bazah podatkov.

Spodnji diagram predstavlja vizualno predstavitev ZDRUŽENJA LEVEGA ZUNANJA, kot je na diagramu vrnitev v osenčeno območje kot rezultat povezave Oracle LEFT OUTER:

Oracle LEFT OUTER JOIN kot rezultat vrne vse zapise iz t1 in presekajoče se zapise t1 in t2.

Primer:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
LEFT OUTER JOIN department
ON employee.employee _id = department.employee _id;

Zgornji primer Oracle LEFT OUTER JOIN bo vrnil vse vrstice iz tabele zaposlenega, iz oddelčne tabele pa samo tiste vrstice, pri katerih je resnično pridruženi pogoj. Tabele oddelka, kjer se vrednost _id vrednosti zaposlenega v tabeli zaposlenega in oddelku ujemata.

Če se vrednost _id zaposlenega v tabeli zaposlenega ujema s tabelo oddelka, bodo polja v tabeli oddelka rezultat nič.

5. Desna zunanja združitev

Vrnitve RIGHT OUTER JOIN vsebujejo vse vrstice iz tabele DESNO (glede na navedeno v pogoju ON), iz druge tabele pa le tiste vrstice, kjer je združeni pogoj resničen.

Sintaksa:

SELECT column (, column ) FROM t1
RIGHT (OUTER) JOIN t2
ON t1.column = t2.column;

Ključna beseda RIGHT OUTER JOIN se uporabi kot PRAVI PRIDRUŽI se v nekaterih drugih bazah podatkov.

Spodnji diagram predstavlja vizualno predstavitev PRAVNEGA ZUNANJA ZDRUŽITEV, kot je na diagramu vrnitev osenčenega območja kot rezultat Oracle RIGHT OUTER JOIN.

Oracle RIGHT OUTER JOIN kot rezultat vrne vse zapise iz t2 in presekajoče se zapise t1 in t2.

Primer:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
RIGHT OUTER JOIN department
ON employee.employee _id = department.employee _id;

Zgornji primer Oracle LEFT OUTER JOIN bo vrnil vse vrstice iz tabele oddelka, iz tabele zaposlenih pa samo tiste vrstice, kjer je resnično pridruženi pogoj. Tabele za zaposlene, kjer se vrednost_id vrednosti zaposlenega v tabeli zaposlenega in oddelku ujemata.

Če se vrednost _id zaposlenega v tabeli zaposlenega ujema s tabelo oddelka, bodo polja tabele zaposlenega v rezultatu nična.

6. Popolna zunanja pridružitev

Povratni povratni podatki za združevanje vsebujejo vse vrstice iz leve in tabele DESNO z ničelnimi polji, v katerih pogoj združevanja ni resničen.

Sintaksa:

SELECT column (, column ) FROM t1
FULL (OUTER) JOIN t2
ON t1.column = t2.column;

Ključno besedo FULL OUTER JOIN uporabite kot POPOLNI PRIDRUŽI se v nekaterih drugih bazah podatkov.

Spodnji diagram predstavlja vizualno predstavitev POPOLNEGA ZDRUŽENJA, kot je na diagramu vrnitev osenčenega območja kot rezultat povezave Oracle FULL OUTER JOIN.

Oracle FULL OUTER JOIN kot rezultat vrne vse zapise iz tabel t1 in t2.

Primer:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
FULL OUTER JOIN department
ON employee.employee _id = department.employee _id;

Zgornji primer Oracle FULL OUTER JOIN bo vrnil vse vrstice iz tabele zaposlenega in iz oddelčne tabele z ničelnimi vrednostmi, če združeni pogoj ne drži.

7. Oracle Self se pridruži

Tabela se pri samostojnosti pridruži uporabi dvakrat v stavku FROM s pomočjo imena vzdevkov tabele. Z drugimi besedami, jaz se pridruži, pridružite se mizi. Oracle Self Join združuje in vrne vrstice tabele, kjer je resnično stanje združevanja.

Primer:

SELECT emp1.employee_name || 'works for' || emp2.employee_name
FROM employees emp1, employees emp2
WHERE emp1.manager_id = emp2.employee_id
ORDER BY emp1.employee_name;

Ta zgornji primer Oracle self JOIN bo vrnil vse vrstice iz tabele zaposlenih, kjer je združeni pogoj resničen.

8. Oracle Cross Joins (imenovan tudi kot kartezijanski izdelki)

Navzkrižno združevanje velja, kadar dve tabeli nimata pogoja združevanja. Križni spoj vrne kartezijanski produkt dveh tabel, kartezijanski izdelek, kjer se vsaka vrstica ene tabele kombinira z vsako vrstico druge tabele. Recimo, da tabela1 vsebuje 100 vrstic, tablica2 pa 10 vrstic, potem bi rezultat združevanja vseboval 1000 vrstic.

Primer;

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
CROSS JOIN department

Ta zgornji primer PRIDRŽI se bo vrnil vse vrstice tabele zaposlenih v vseh vrsticah oddelčne tabele.

9. Oracle Anti Joins

Vrnitve proti združevanju vsebujejo vrstice iz leve tabele (glede na navedeno v stanju ON), kjer je združeni pogoj resničen.

Primer:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
WHERE department_id NOT IN (SELECT department_id from department
WHERE department_name = 'sales';

Ta zgornji primer Oracle ANTI JOIN bo vrnil vrstice iz tabele zaposlenih in kjer je združeni pogoj resničen.

10. Oracle Semi pridruži

Povratni vrnitve vsebujejo edinstvene vrstice iz leve tabele (glede na navedeno v pogoju ON), kjer se ujema podpoizvedba EXISTS.

Primer:

SELECT employee.employee _id, employee.employee_name
FROM employee
WHERE EXISTS (SELECT department_id FROM department
WHERE department_name = 'sales');

Ta zgornji primer Oracle SEMI JOIN bo vrnil vrstice iz tabele zaposlenih, če EXISTS vrne true.

Zaključek

Uporablja se za dostop do podatkov iz več tabel. V Oracle je sedem različnih vrst združevanja.

Priporočeni članki

To je vodnik za Pridružitve v Oracleu. Tukaj razpravljamo o uvodu o Joins in Oracle in njegovih 10 različnih vrstah v Joins in Oracle. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Vrste združitev v SQL
  2. Tableau se pridruži
  3. Oracle Builder skladišče
  4. Funkcije nizov Oracle
  5. Kaj je poizvedba in vrste poizvedb Oracle
  6. Prvih 6 vrst združitev v MySQL s primeri
  7. Vodnik po prvih 9 Oracle določbah (Primer) l
  8. SELECT v MySQL | Primeri za SELECT v MySQL

Kategorija: