Johdanto sisäiseen liittymiseen Oracliin
Liittymislausekkeita käytetään orackel-tietokannassa tietojen saamiseksi useista taulukoista saadakseen tietoja. Oracle-tietokannassa on erityyppisiä liittymiä.
Sisäinen liittyminen on yksi liittymistyypeistä orackel-tietokannassa. Sisäinen liitos, liity useisiin taulukoihin ja palauta ne rivit, joiden liittymisolosuhteet ovat tai ovat totta. Sisäinen liitos tunnetaan myös nimellä yksinkertainen liitos. Sisäinen liitos on yleisin liitos tyyppien joukossa.
Sisäisen liitoksen syntaksi
SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;
Sisäinen liittymisen visuaalinen esitys on esitetty alla olevassa kaaviossa, kuten alla olevassa kaaviossa, varjostetun alueen paluu Oracle Inner Join -sovelluksen seurauksena
Oracle Inner Join palauttaa t1: n ja t2: n leikkauskirjat.
Kyselyesimerkkejä sisäiseen liittymiseen
Ymmärretään sisäinen liitos yksityiskohtaisesti joidenkin kyselyesimerkkien avulla:
Esimerkki # 1
Kyselyesimerkki sisäiselle liittymiselle
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ätaulukosta ja osastopöydästä, joissa työntekijän _id-arvo sekä työntekijätaulukossa että osastopöydässä vastaavat.
Tarkastellaan tässä hr-järjestelmää, joka on orackel-tietokannan näytteenäyte. HR-kaavio sisältää MAAT, TYÖNTEKIJÄT, OSASTOT, TYÖHISTORIA, TYÖT, SIJAINTI, ALUE-taulukot, joista olemme kiinnostuneita tai vaadimme TYÖNTEKIJÖT, OSASTOT ja SIJAINTI -taulukoita.
Näiden taulukoiden kuvaus on -
Taulukko TYÖNTEKIJÄT
Taulukko OSASTOT
Taulukko SIJAINTI
Esimerkki 2
Sisäinen liittymisesimerkki kahdelle pöydälle
Täältä haluamme hakea tietoja kahdesta taulukosta TYÖNTEKIJÖT ja OSASTOT. Tässä kyselyssä kirjoitamme hakeaksesi työntekijän työntekijän tunnuksen ja työntekijän etunimen työntekijän taulukosta ja laitoksen nimen laitoksen taulukosta -
SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;
ulostulo
Taulukon sarakkeiden nimiä edeltää Oracle SELECT -lause. Jos sarake on yhteinen molemmille taulukoille, selvyyden vuoksi sarakkeen nimi on etuliitettävä taulukon nimellä. Taulukot, joista tiedot on haettava, määritetään lausekkeesta pilkulla erotettuna. Määritä WHERE-lauseessa liittymisedellytys. Työntekijöiden ja osastojen taulukoiden välinen suhde määritetään työntekijöiden_id-sarakkeessa olevien arvojen molemmissa taulukoissa on oltava yhtä suuret ja tätä suhdetta kutsutaan Equi-liittymäksi. Yleisesti ensisijainen avain ja vieraat avaimet ovat mukana tässä suhteessa.
Esimerkki 3
Sisäinen liittymisesimerkki kahdesta alias-taulukosta
Kirjoita uusi esimerkki käyttämällä taulukon aliaksia nimellä -
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id;
ulostulo
Kuten yllä olevassa kyselyssä, taulukon aliakset luodaan lausekkeesta sarakkeen nimen jälkeen, ja sen sijaan, että täydellisen taulukon nimi kirjoitettaisiin valintalausekkeeseen ennen kutakin saraketta, käytä taulukon aliaksia e ja d yllä olevassa kyselyssä.
Esimerkki 4
Sisäinen liittymisesimerkki kahdelle taulukolle lisäyslausekkeilla
Seuraava kyselyesimerkki, jossa lisäämme lisälausekkeita Oracle SELECT -lausuntoomme, missä lauseke yhdistelmien lisäämiseksi, palautettujen rivien rajoittamiseksi, lajittelujärjestyksen määrittelemiseksi ja niin edelleen. Tässä on esimerkki kysely, joka hakee kaikki työntekijät, jotka työskentelevät rahoituksen, valmistuksen ja rakentamisen osastoilla.
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' );
ulostulo
Esimerkki 5
Sisäinen liittymisesimerkki kahdesta taulukosta tilauksen mukaan
Seuraavaksi kyselyesimerkiksi kirjoitamme yllä olevan kyselyn lisäämällä tilauksen lausekkeen mukaan, jolloin työntekijän tiedot näytetään osastonimen mukaan lajiteltuina.
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;
ulostulo
Esimerkki 6
Sisäinen liittymisesimerkki usean pöydän liittymiseen
Joskus saadaksesi tietoja, meidän on ehkä liityttävä useampaan kuin kahteen taulukkoon. Seuraavaksi kirjoitamme kyselyesimerkin liittyäksesi useisiin taulukoihin. Harkitse esimerkkiä, jonka avulla haluamme hakea työntekijän etunimen työntekijätaulusta, laitoksen nimen osastopöydästä ja sen maan tunnuksen, jossa työntekijä työskentelee sijaintitaulukossa.
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;
ulostulo
Neljän tai useamman taulukon yhdistämiseksi sovelletaan samaa käsitettä lisäämällä taulukon nimi oraakkin FROM-lauseeseen ja soveltamalla liittymisedellytys oraakkeen WHERE-lausekkeeseen.
johtopäätös
Sisäinen liittyminen on yksi liittymistyypeistä orackel-tietokannassa. Sisäinen liitos, jota käytetään yhdistämään useita taulukoita ja palauttamaan ne rivit, joiden liittymisolosuhteet ovat tai ovat totta. Ensisijainen avain ja vieras avain ovat yleensä mukana sisäisessä liittymisessä taulukoiden välisen suhteen luomiseksi.
Suositellut artikkelit
Tämä on opas sisäiseen liittymiseen Oracliin. Tässä keskustellaan sisäisen liittymisen johdannosta ja yksityiskohtaisesti joitain esimerkkejä. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -
- Liittyy MySQL: ään
- Oracle-kyselyt
- Oracle-tietovarastointi
- Mikä on Oracle-tietokanta