Összefoglaló: ebben a bemutatóban megtanulja, hogyan használja a RIGHT OUTER JOIN az Oracle-ben két vagy több táblázat összekapcsolására.

A RIGHT OUTER JOIN áttekintése az Oracle-ben

Tegyük fel, hogy van két táblánk T1 és T2, a következő utasítás azt mutatja, hogyan lehet ezt a két táblát az Oracle-ben a RIGHT OUTER JOIN záradékkal összekapcsolni:

Ebben az utasításban a T1 és a T2 a bal, illetve a jobb oldali tábla.

A OUTER kulcsszó opcionális, ezért a RIGHT OUTER JOIN és a RIGHT JOIN ugyanaz.

Íme, hogyan működik a RIGHT OUTER JOIN.

A T1 táblázat minden sorát összehasonlítjuk a T2tábla soraival:

  • Ha egy sorpár kielégíti a join predikátumot, a két sor oszlopértékeit kombináljuk, és így kapunk egy eredménysort, amely bekerül az eredményhalmazba.
  • Ha a T2 tábla egy sora nem egyezik a T1 tábla egyetlen sorával sem, akkor a T2 tábla sorának oszlopértékeit a T1 táblából származó sor minden egyes oszlopának NULL értékével kombináljuk az eredménysor létrehozásához, amely ezután szintén bekerül az eredményhalmazba.

Más szóval a jobb oldali külső összekapcsolás a jobb oldali tábla összes sorát és a bal oldali tábla megfelelő sorait is visszaadja.

Oracle RIGHT OUTER JOIN példák

A bemutatóhoz a mintaadatbázis orders és employees tábláit fogjuk használni:

A diagramban egy értékesítő egy vagy több értékesítési megbízásért felel. Előfordulhat azonban, hogy egyes értékesítési megbízásokért nem felelős egyetlen értékesítő sem.

A következő példa lekérdezi az összes értékesítőt és értékesítési megbízásaikat, ha vannak:

Az eredmény tartalmazza az összes olyan alkalmazottat, akinek a munkaköri címe Sales Representative, valamint a megbízásaikat.

Ha egy értékesítő nem felelős egyetlen értékesítési megbízásért sem, például Alice Wells, Charlotte Webb, akkor a order_id és status oszlopok NULL értékkel lesznek kitöltve.

Oracle RIGHT OUTER JOIN with USING clause

A többi egyesítéshez hasonlóan, például INNER JOIN, LEFT JOIN, a USING záradékkal megadhatjuk, hogy a táblák egyesítésekor melyik oszlopot vizsgáljuk az egyenlőségre.

Az alábbiakban a RIGHT OUTER JOIN szintaxisát szemléltetjük a USING záradékkal:

Ebben a lekérdezésben a USING záradékban felsorolt oszlopoknak mind a T1, mind a T2 táblákban szerepelniük kell.

A következő utasítás egyenértékű a fenti utasítással:

A következő utasítás a RIGHT OUTER JOIN használatát mutatja be a USING záradékkal:

Ebben a példában az összes ügyfél szerepel az eredményhalmazban. Ha egy ügyfélnek nincs értékesítési megrendelése, akkor a order_id és status oszlopok NULL értékkel töltődnek fel.

Oracle RIGHT JOIN: feltétel az ON vs. WHERE záradékban

A következő utasítás az 57-es azonosítójú eladó alkalmazott és megrendelés adatait szerzi meg.

A következő utasítás a ON záradék helyett a WHERE záradékba helyezi a feltételt:

A lekérdezés az összes alkalmazottat visszaadta, de csak az 57-es azonosítójú alkalmazottnak voltak meg a kapcsolódó rendelési adatai.

Megjegyezzük, hogy a INNER JOIN tekintetében a ON záradékban elhelyezett feltételnek ugyanaz a hatása, mint a WHERE záradékban elhelyezettnek.

Ezzel a bemutatóval megtanulta, hogyan használhatja a RIGHT OUTER JOIN-t az Oracle-ben több táblából történő adatlekérdezéshez.

  • Hasznos volt ez a bemutató?
  • IgenNem

Mi volt hasznos?

admin

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

lg