Siseühendus Oracle'iga - Siit saate teada 6 parimat päringu näidet sisemise liitumise kohta Oracle'iga

Lang L: none (table-of-contents):

Anonim

Sissejuhatus sisemisse liitumisesse Oracle'iga

Liitumisklausleid kasutatakse oraakli andmebaasis teabe saamiseks mitme tabeli andmetele juurde pääsemiseks. Oraakli andmebaasis on erinevat tüüpi liitumisi.

Sisemine liitumine on üks oraaklite andmebaasis liitumise tüüpidest. Sisemine liitumine, liituge mitme tabeliga ja tagastage need read, mille ühinemistingimus on või on tõene. Sisemist liitumist nimetatakse ka lihtsaks liitumiseks. Siseühendus on liitmistüüpide hulgas kõige tavalisem liitumine.

Sisemise liitmise süntaks

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

Sisemine liitumise visuaalne esitus on esitatud allpool toodud diagrammil, nagu allpool toodud diagrammil, varjutatud ala naasmine Oracle'i sisemise liitumise tagajärjel

Oracle'i sisemine liitumine tagastab selle tulemusel t1 ja t2 lõikepunktid.

Sisemise liitumise päringunäited

Mõistame sisemise liitumise üksikasju mõne päringunäite abil:

Näide nr 1

Sisemise liitumise päringu näide

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

See ülaltoodud Oracle INNER JOINi näide tagastab kõik read töötajate tabelist ja osakonnatabelist, kus töötaja _id väärtus nii töötajate tabelis kui ka osakonnatabelis on vastavuses.

Siin käsitleme hr-skeemi, mis on oraaklite andmebaasi näidisskeemid. HR-skeem sisaldab RIIKIDE, TÖÖTAJATE, OSAKONDADE, TÖÖ_HISTORIA, TÖÖD, ASUKOHTAD, REGIOONID tabeleid, milles oleme huvitatud või vajame TÖÖTAJATE, OSAKONNA ja ASUKOHA tabeleid.

Nende tabelite kirjeldus on -

Tabel TÖÖTAJAD

Tabel OSAKONNAD

Tabel ASUKOHAD

Näide 2

Kahe laua sisemine liitumisnäide

Siinkohal sooviksime hankida andmeid kahelt tabelilt TÖÖTAJAD ja OSAKONNAD. Siit päringust kirjutame selleks, et saada töötaja töötaja ID ja töötaja eesnimi töötaja tabelist ja osakonna nimi osakonna tabelist -

SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;

Väljund

Veeru nimedele koos tabeliga eelneb Oracle SELECT-lause. Kui veerg on mõlemal tabelil ühine, tuleb veeru nime selguse selguse huvides lisada tabeli nime ees. Tabelid, kust andmeid tuleb hankida, täpsustavad alates komaga eraldatud klauslist. WHERE-klauslis täpsustage liitumistingimus. Töötajate ja osakonnatabelite vaheline seos määratakse kindlaks mõlema tabeli töötaja_id ühises veerus sisalduvate väärtuste järgi ja seda suhet nimetatakse Equi Liitu. Selles suhtes on tavaliselt kasutatud primaar- ja võõrvõtmeid.

Näide 3

Kahe pseudonüümiga tabeli sisemine liitumisnäide

Kirjutagem ülaltoodud näide ümber, kasutades tabeli pseudonüüme järgmiselt:

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id;

Väljund

Nagu ülaltoodud päringu korral, luuakse tabeli pseudonüümid alates alapunktist veeru nime järel ja selle asemel, et kirjutada täielikku tabeli nime valimisklauslisse enne iga veergu, kasutage ülaltoodud päringus tabeli Varjunimed kui e ja d.

Näide 4

Kahe tabeli sisemine liitumisnäide koos lisaklauslite lisamisega

Järgmine päringunäide, kus lisame oma Oracle SELECT avaldusele täiendavad klauslid, kus klausel koondamiste lisamiseks, tagastatud ridade piiramiseks, sortimisjärjestuse määratlemiseks ja nii edasi. Siin on näidispäring, mis otsib kõik töötajad, kes töötavad rahanduse, tootmise ja ehituse osakondades.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ( 'Finance', 'Manufacturing', 'Construction' );

Väljund

Näide 5

Kahe tabeli sisemine liitumisnäide järjestuse alusel

Järgmise päringu näitena kirjutame ülaltoodud päringu ümber, lisades tellimuse klausli järgi, kuvades töötaja andmed osakonna nime järgi.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ('Finance', 'Manufacturing', 'Construction')
ORDER BY d. department_name;

Väljund

Näide 6

Sisemise liitumise näide mitme tabeli liitumiseks

Mõnikord peame teabe saamiseks liituma enam kui kahe tabeliga. Järgmisena kirjutame päringunäite mitme tabeli liitmiseks. Vaatleme näidet, mille abil tahame töötaja tabelist tuua töötaja eesnime, osakonna tabelist osakonna nime ja asukohatabelis selle riigi ID, kus see töötaja töötab.

SELECT e. first_name, e. salary, d. department_name, l. city, l. country_id
FROM employees e, departments d, locations l
WHERE e. employee_id = d. department_id
AND
d. location_id = l. location_id;

Väljund

Nelja või enama tabeli liitmiseks kehtib sama kontseptsioon, lisades tabeli nime oraakli klausli FROM ja rakendades liitumistingimuse oraakli WHERE klauslis.

Järeldus

Sisemine liitumine on üks oraaklite andmebaasis liitumise tüüpidest. Sisemine liitmine, mida kasutatakse mitme tabeli liitmiseks ja nende ridade tagastamiseks, mille ühinemistingimus on või on tõene. Tavaliselt on primaar- ja võõrvõti seotud sisemise liitumisega, et luua seos tabelite vahel.

Soovitatavad artiklid

See on juhend Oneri sisemise liitumise kohta. Siin käsitleme sisemise liitumise sissejuhatust koos mõne näitega üksikasjalikumalt. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Liitub MySQL-iga
  2. Oracle'i päringud
  3. Oracle'i andmete ladustamine
  4. Mis on Oracle'i andmebaas