Uvod u pridruživanje Oracleu

Pridruživanja u Oracleu koriste se za pristup podacima iz više tablica. Pridruživanje oracleu koristi se na mjestu gdje se treba pridružiti više od dvije tablice za prikupljanje korisnih informacija u Oracle SQL izjavi. Drugim riječima, upit za pridruživanje koji se koristi za dobivanje redaka iz više od dvije tablice ili pogleda na temelju uvjeta pridruživanja. Uvjet spajanja može se odrediti u odredbi FROM ili u mjestu gdje. Uvjet spajanja uspoređuje stupce iz različitih tablica i dohvaća one retke za koje je uvjet pridruživanja istinit.

Vrste pridruživanja u Oracleu

U Oracleu postoji deset različitih vrsta pridruživanja kako je dano u nastavku:

  • Unutarnje pridruživanja (poznate i kao Jednostavni pridruživanja)
  • Equi se pridružuje
  • Vanjski se pridružuje
  • Spajanje lijevih vanjki (također se naziva i lijevo spajanje)
  • Desno vanjsko spajanje (koje se još naziva i desno spajanje)
  • Potpuna vanjska spajanja (koja se nazivaju i puna spajanja)
  • Self se pridružuje
  • Križne veze (nazivaju se i kartezijanski proizvodi)
  • Anti Joins
  • Semi pridružuje

Zatim detaljno razumijemo svaku povezanost sa sintaksom i primjerima.

1. UNUTARNJA PRIDRUŽIVANJA (poznata i kao Jednostavno pridruživanje)

Unutrašnje pridruživanje pridružuju se više tablica i vraćaju one redove za koje je uvjet pridruživanja istinit. Unutarnji spoj je najčešći spoj među vrstama spajanja.

Sintaksa:

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

Donji dijagram predstavlja vizualni prikaz unutarnjeg spoja, kao što je na dijagramu povratak u sjeni kao rezultat Oracle INNER JOIN:

Oracle INNER JOIN kao rezultat vraća presijecanje zapisa t1 i t2.

Primjer:

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

Ovaj gornji primjer Oracle INNER JOIN vratit će sve redove iz tablica zaposlenika i odjela u kojima se vrijednost _id vrijednosti radnika, kako u tablici zaposlenika, tako i u odjelima, podudaraju.

2. Equi se pridružuje

Oracle Equi Joins dohvaća odgovarajuće vrijednosti stupaca iz više tablica. Uvjet pridruživanja ili operater usporedbe prisutan u rečenici WHERE odabira izjave.

Sintaksa:

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

Donji dijagram predstavlja vizualni prikaz equijoina, kao što je na dijagramu povratak osjenjenih područja kao rezultat spajanja Oracle Equi.

Oracle Equijoin vraća rezidualne zapise t1 i t2 kao rezultat.

Primjer:

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

Ovaj gornji primjer Oracle Equijoin vratit će sve retke iz tablica zaposlenika i odjela u kojima se vrijednost _id vrijednosti radnika u tablici zaposlenika i odjela podudaraju.

3. Vanjski se pridružuje

Druga vrsta spajanja je vanjsko spajanje koje vraća rezultat unutarnjeg spajanja plus sve redove iz jedne tablice za koje uvjet spajanja nije istinit.

Sintaksa:

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

Postoje tri vrste vanjskog spajanja kako je dano u nastavku:

  • Spajanje lijevih vanjki (također se naziva i lijevo spajanje)
  • Desno vanjsko spajanje (koje se još naziva i desno spajanje)
  • Potpuna vanjska spajanja (koja se nazivaju i puna spajanja)

4. Lijevo vanjsko spajanje

Povrat lijevog vanjskog spajanja sadrži sve retke iz tablice LIJEVI (prema specificiranom u ON stanju), a iz druge tablice samo one retke u kojima je istiniti pridruženi uvjet.

Sintaksa:

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

Koristite LEFT OUTER JOIN ključnu riječ, koristite LEVO JOIN u nekim drugim bazama podataka.

Donji dijagram predstavlja vizualni prikaz LIJEVE VANJSKE PRIDRUŽIVANJA, kao i na dijagramu povratak u sjeni kao rezultat Oracle LEFT OUTER JOIN:

Oracle LEFT OUTER JOIN vraća sve zapise iz t1 i presijecaju zapise t1 i t2 kao rezultat.

Primjer:

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

Ovaj gornji primjer Oracle LEFT OUTER JOIN vratit će sve retke iz tablice zaposlenika, a iz tablice odjeljenja samo one retke u kojima je pridruženi uvjet istinit. Tablice odjeljenja u kojima se vrijednost _id vrijednosti zaposlenika i u tablici zaposlenika i u odjelu podudaraju.

Ako se vrijednost _id zaposlenika u tablici zaposlenika podudara s tablicom odjeljenja, tada će polja tablice odjeljenja biti nulta rezultata.

5. Pravo vanjsko spajanje

Povratak RIGHT OUTER JOIN sadrži sve retke iz tablice DESNO (prema specificiranom stanju UKLJUČENO), a iz druge tablice samo one retke u kojima je istiniti pridruženi uvjet.

Sintaksa:

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

RIGHT OUTER JOIN ključna riječ, koristite kao PRAVO PRIDRUŽITE se u nekim drugim bazama podataka.

Donji dijagram predstavlja vizualni prikaz PRAVNOG IZLAZNOG PRIKLJUČKOVANJA, kao i na dijagramu povratak osjenjenog područja kao rezultat Oracle RIGHT OUTER JOIN.

Oracle RIGHT OUTER JOIN vraća sve zapise iz t2 i presijecaju zapise t1 i t2 kao rezultat.

Primjer:

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

Ovaj gornji primjer Oracle LEFT OUTER JOIN vratit će sve redove iz tablice odjela, a iz tablice zaposlenika samo one retke u kojima je istiniti pridruženi uvjet. Tablice zaposlenika u kojima se vrijednost _id zaposlenika u tablici zaposlenika i odjela podudaraju.

Ako se vrijednost _id zaposlenika u tablici zaposlenika podudara s tablicom odjeljenja, tada će polja tablice zaposlenika biti nulta rezultata.

6. Potpuno spajanje s vanjske strane

Povratak Potpuni vanjski pridruživanje sadrži sve retke iz tablice LIJEVO i DESNO s nula u poljima u kojima uvjet pridruživanja nije istinit.

Sintaksa:

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

Ključna riječ PUNI OUTER JOIN, upotrijebite je kao PUNO JOIN u nekim drugim bazama podataka.

Donji dijagram predstavlja vizualni prikaz PUNOG OUTER JOIN-a, kao što je na dijagramu povratak osjenčanog područja kao rezultat Oracle FULL OUTER JOIN.

Oracle FULL OUTER JOIN kao rezultat vraća sve zapise iz t1 i t2 tablica.

Primjer:

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

Ovaj gornji primjer Oracle FULL OUTER JOIN vratit će sve redove iz tablice zaposlenika i iz tablice odjela s nultim vrijednostima gdje pridruženi uvjet nije istinit.

7. Oracle Self pridružuje se

Tablica se samostalno pridruži koristi dvaput u izreci FROM uz pomoć imena pseudonime tablice. Drugim riječima, samo se pridružuje, pridružite se stolu. Oracle Self Join kombinira i vraća redove tablice u kojima je uvjet pridruživanja istinit.

Primjer:

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;

Ovaj gornji primjer Oracle self JOIN vratit će sve redove s tablice zaposlenika gdje je pridruženi uvjet istinit.

8. Oracle Cross Join (naziva se i kartezijanskim proizvodima)

Poprečno spajanje primjenjuje se tamo gdje dvije tablice nemaju uvjet pridruživanja. Križno spajanje vraća kartuzijanski proizvod dviju tablica, kartezijanski proizvod gdje se svaki red jedne tablice kombinira sa svakim redom druge tablice. Pretpostavimo da tablica1 sadrži 100 redaka, a tablica2 sadrži 10 redaka, a rezultat pridruživanja bi sadržavao 1000 redaka.

Primjer;

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

Ovaj gornji primjer JOIN vrati će sve redove tablice zaposlenika kombinirati sa svim redovima tablice odjeljenja.

9. Oracle Anti pridružuje

Povratak protiv spajanja sadrži retke iz tablice LEFT (prema specificiranom u ON stanju) gdje je pridruženi uvjet točan.

Primjer:

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';

Ovaj gornji primjer Oracle ANTI JOIN vratit će redove s tablice zaposlenika i tamo gdje je pridruženi uvjet točan.

10. Oracle Semi pridružuje

Poluprostorni povrati sadrže jedinstvene retke iz tablice LEFT (prema specificiranom u ON stanju) gdje je podudaranje s podupitom EXISTS istinito.

Primjer:

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

Ovaj gornji primjer Oracle SEMI JOIN vratit će redove s tablice zaposlenika ako se EXISTS vrati true.

Zaključak

Koristi se za pristup podacima iz više tablica. Postoji sedam različitih vrsta pridruživanja Oracleu.

Preporučeni članci

Ovo je vodič za pridruživanje u Oracleu. Ovdje smo raspravljali o uvodu o pridruživanju u Oracleu i njegovih 10 različitih vrsta o pridruživanju u Oracleu. Možete i pregledati naše druge povezane članke da biste saznali više -

  1. Vrste pridruživanja u SQL-u
  2. Tableau se pridružuje
  3. Oracle Sastavljač skladišta
  4. Oracle string funkcije
  5. Što je upit i vrste Oracle upita
  6. Top 6 vrsta pridruživanja u MySQL-u s primjerima
  7. Vodič za prvih 9 Oracle klauzula (primjer) l
  8. SELECT u MySQL | Primjeri za SELECT u MySQL-u

Kategorija: