Johdanto Oraclen liittymisiin

Oraclen liittymiä käytetään tietojen pääsyyn useista taulukoista. Liittymistä oraakkeliin käytetään paikassa, jossa on liitettävä enemmän kuin kaksi taulukkoa, hyödyllisten tietojen keräämiseksi Oracle SQL -käskyssä. Toisin sanoen liittymiskysely, jolla haettiin rivejä useammasta kuin kahdesta taulukosta tai näkymästä liittymisolosuhteiden perusteella. Liittymisehto voidaan määrittää FROM-lauseessa tai missä lauseessa. Liittymisehto vertaa eri taulukoiden sarakkeita ja hakee ne rivit, joissa liittymisehto on totta.

Tyypit liittymiset Oracle

Oraclessa on kymmenen erityyppistä liittymistä, kuten alla on esitetty:

  • Sisäiset liitokset (tunnetaan myös nimellä yksinkertaiset liitokset)
  • Equi liittyy
  • Ulkoiset liitokset
  • Vasen ulompi liittymä (kutsutaan myös vasen liitos)
  • Oikeat ulkoiset liitokset (kutsutaan myös oikeiksi liitoksiksi)
  • Täydelliset ulkoiset liitokset (kutsutaan myös täydellisiksi liitoksiksi)
  • Itse liittyy
  • Cross Joins (kutsutaan myös Cartesian Products)
  • Anti-liittymät
  • Semi Joins

Seuraavaksi ymmärrämme jokaisen liittymisen yksityiskohtaisesti syntaksin ja esimerkkien kanssa.

1. SISÄINEN LIITTYMINEN (tunnetaan myös nimellä Simple Join)

Sisäinen liittyminen liittyy useisiin taulukoihin ja palauttaa ne rivit, joiden liittymisehto on totta. Sisäinen liitos on yleisin liitos tyyppien joukossa.

Syntaksi:

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

Alla oleva kaavio edustaa sisäisen liitoksen visuaalista esitystä, kuten kaaviossa varjostettu alue palaa Oracle INNER JOIN -sovelluksen seurauksena:

Oracle INNER JOIN palauttaa t1: n ja t2: n leikkauskirjat.

Esimerkki:

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

Tämä yllä oleva Oracle INNER JOIN -esimerkki palauttaa kaikki rivit työntekijä- ja osastotaulukoista, joissa työntekijän _id-arvo sekä työntekijä- että osastotaulukoissa ovat samat.

2. Equi liittyy

Oracle Equi Joins hakee useiden taulukoiden vastaavat sarakearvot. Liittymisehto tai vertailunoperaattori, joka on valitun lauseen WHERE-lauseessa.

Syntaksi:

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

Alla oleva kaavio edustaa equijoinin visuaalista esitystä, kuten kaaviossa varjostettu alue palaa Oracle Equi Join -sovelluksen seurauksena.

Oracle Equijoin palauttaa t1- ja t2-risteystietueet tuloksena.

Esimerkki:

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

Tämä yllä oleva Oracle Equijoin -esimerkki palauttaa kaikki rivit työntekijä- ja osastotaulukoista, joissa työntekijän _id-arvo sekä työntekijä- että osastotaulukoissa ovat samat.

3. Ulkoiset liitokset

Toinen liitostyyppi on ulompi liitos, joka palauttaa tuloksen sisäisestä liitoksesta plus kaikki rivit yhdestä taulukosta, joiden liittymisolosuhteet eivät ole totta.

Syntaksi:

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

Alla on kolme ulkoista liitosta:

  • Vasen ulompi liittymä (kutsutaan myös vasen liitos)
  • Oikeat ulkoiset liitokset (kutsutaan myös oikeiksi liitoksiksi)
  • Täydelliset ulkoiset liitokset (kutsutaan myös täydellisiksi liitoksiksi)

4. Vasen ulko-liittymä

Vasemman ulomman liittymisen palautukset sisältävät kaikki VASEN-taulukon rivit (ON-olosuhteissa määritetyn mukaisesti) ja toisesta taulukosta vain ne rivit, joissa liittynyt ehto on totta.

Syntaksi:

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

Vasemmanpuoleinen liittymäavain, käytä VASEMMALLA joissain muissa tietokannoissa.

Alla oleva kaavio edustaa VASEN ULKOISEN LIITTYMISEN visuaalista esitystä, kuten kaaviossa varjostetun alueen paluu Oracle LEFT UUTER JOIN -tuloksen seurauksena:

Oracle LEFT OUTER JOIN palauttaa kaikki t1: n tietueet ja t1: n ja t2: n leikkauskirjat.

Esimerkki:

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

Tämä yllä oleva Oracle LEFT OUTER JOIN -esimerkki palauttaa kaikki rivit työntekijätaulukosta ja osastopöydästä vain ne rivit, joissa liittynyt ehto on totta. Osastotaulut, joissa työntekijän _id-arvo sekä työntekijä- että osastotaulukoissa ovat vastaavat.

Jos työntekijätaulukon työntekijän _id-arvo vastaa osastotaulukkoa, osastopöydän kentät ovat nollat ​​tuloksessa.

5. Oikea ulompi liittyminen

OIKEA ULKOPUOLINEN palautus sisältää kaikki OIKEA-taulukon rivit (ON-olosuhteissa määritetyn mukaisesti) ja toisesta taulukosta vain ne rivit, joissa liitetty ehto on totta.

Syntaksi:

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

OIKEA ULKOPUOLINEN avainsana, käytä OIKEAAN LIITTYMINä muissa tietokannoissa.

Alla oleva kaavio edustaa OIKEA ULKOISEN LIITTYMISEN visuaalista esitystä, kuten kaaviossa varjostettu alue palaa Oracle RIGHT OUTER JOIN -sovelluksen seurauksena.

Oracle RIGHT OUTER JOIN palauttaa kaikki t2: n tietueet ja t1: n ja t2: n leikkauskirjat.

Esimerkki:

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

Tämä yllä oleva Oracle LEFT OUTER JOIN -esimerkki palauttaa kaikki rivit osastopöydästä ja työntekijätaulukosta vain ne rivit, joissa liittynyt ehto on totta. Työntekijätaulukot, joissa työntekijän _id-arvo sekä työntekijä- että osastotaulukoissa ovat vastaavat.

Jos työntekijätaulukon työntekijän _id-arvo vastaa osastotaulukkoa, työntekijätaulukon kentät ovat nollat ​​tuloksessa.

6. Täysi ulkoinen liittyminen

Täydellinen ulkoinen liittyminen -paluu sisältää kaikki VASEN-taulukon ja OIKEA-taulukon rivit nolla-kentällä kentissä, joissa liittymisehto ei ole totta.

Syntaksi:

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

FULL OUTER JOIN -sana, käytä FULL JOIN -sovelluksena joissain muissa tietokannoissa.

Alla oleva kaavio edustaa FULL UUTER JOIN -sivun visuaalista esitystä, kuten kaaviossa varjostetun alueen paluu Oracle FULL OUTER JOIN -toiminnon seurauksena.

Oracle FULL OUTER JOIN palauttaa tulokset t1- ja t2-taulukoista.

Esimerkki:

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

Tämä edellä Oracle FULL OUTER JOIN -esimerkki palauttaa kaikki rivit työntekijätaulukosta ja osastotaulusta nolla-arvoilla, jos yhdistetty ehto ei ole totta.

7. Oraclen itse liittyminen

Itse liittymisessä taulukko käyttää kahdesti FROM-lauseketta taulukon aliaksen nimen avulla. Toisin sanoen, itse liittyy, liittyä itse pöytään. Oracle Self Join yhdistää ja palauttaa taulukon rivit, joissa liittymisehto on totta.

Esimerkki:

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;

Tämä yllä olevasta Oracle self JOIN -esimerkistä palauttaa kaikki rivit työntekijätaulukosta, jossa liittynyt ehto on totta.

8. Oracle Cross Joins (kutsutaan myös Cartesian Products)

Ristiin liittyminen koskee silloin, kun kahdella taulukolla ei ole liitto-olosuhteita. Ristiliitos palauttaa kahden pöydän Cartesian-tuotteen, Cartesian-tuotteen, jossa yhden taulukon jokainen rivi yhdistyy toisen taulukon kunkin rivin kanssa. Oletetaan, että taulukko1 sisältää 100 riviä ja taulukko2 sisältää 10 riviä, sitten yhdistämisen tulos sisältää 1000 riviä.

Esimerkki;

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

Tämä yllä oleva risti JOIN-esimerkki palauttaa kaikki työntekijätaulukkorivit yhdistettynä osastopöydän kaikkiin riveihin.

9. Oracle Anti Joins

Liittymisen vastaiset palautukset sisältävät rivejä VASEN-taulukosta (ON-olosuhteissa määritetyn mukaisesti), joissa liittynyt ehto on totta.

Esimerkki:

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

Tämä yllä oleva Oracle ANTI JOIN -esimerkki palauttaa rivit työntekijätaulukosta ja missä liitetty ehto on totta.

10. Oracle Semi Joins

Semijoin-paluu sisältää yksilöivät rivit VASEMMALTA-taulukosta (ON-olosuhteissa määritetyn mukaisesti), joissa vastaa EXISTS-alikysely totta.

Esimerkki:

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

Tämä yllä oleva Oracle SEMI JOIN -esimerkki palauttaa rivit työntekijätaulukosta, jos EXISTS palaa totta.

johtopäätös

Sillä on tapana käyttää tietoja useista taulukoista. Oraclessa on seitsemän erityyppistä liittymistä.

Suositellut artikkelit

Tämä on opas Liittymisiin Oraclissa. Tässä keskustellaan johdannosta, joka käsittelee Oraclen Joinsia ja sen kymmentä erityyppistä tyyppiä Oraclen Joinsissa. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja -

  1. SQL-liittymien tyypit
  2. Tableau liittyy
  3. Oracle Warehouse Builder
  4. Oracle-merkkijonotoiminnot
  5. Mikä on kysely ja tyypit Oracle-kyselyitä
  6. MySQL: n kuusi suosittua liittymistyyppiä ja esimerkkejä
  7. Opas 9 parasta Oracle-lauseketta (esimerkki) l
  8. VALITSE MySQL | Esimerkkejä VALITTAVAKSI MySQL: ssä

Luokka: