Introducere în Alăturarea interioară în Oracle
Clauzele de unire sunt utilizate în baza de date oracle pentru a accesa datele din mai multe tabele pentru a obține informații. Există diferite tipuri de uniri în baza de date Oracle.
Alătura interioară este unul dintre tipurile de unire din baza de date oracle. O îmbinare interioară, alăturați-vă mai multor tabele și întoarceți acele rânduri pentru care condiția de unire este sau este adevărată. O îmbinare interioară este cunoscută și ca o simplă îmbinare. Alătura interioară este cea mai frecventă îmbinare dintre tipurile de îmbinare.
Sintaxa unirii interioare
SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;
Reprezentarea vizuală a unirii interioare este reprezentată în diagrama de mai jos, ca în diagrama de mai jos, zona întunecată se întoarce ca rezultat al unirii interioare Oracle
Oracle Inner Join returnează înregistrările intersectate ale t1 și t2 ca urmare.
Exemple de interogare pentru unire interioară
Să înțelegem unirea interioară în detaliu cu ajutorul unor exemple de interogare:
Exemplul # 1
Exemplu de interogare pentru Inner Join
SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee
INNER JOIN department
ON employee.employee _id = department.employee _id;
Acest exemplu de mai sus Oracle INNER JOIN va întoarce toate rândurile din tabelul angajaților și tabelului departamentului unde se potrivește valoarea _id a angajatului atât în tabelul angajaților, cât și în tabelul departamentului.
Considerăm aici schema hr care este schemele de exemple ale bazei de date oracle. Schema hr conține tabele ȚĂRI, ANGAJATORI, DEPARTAMENTE, JOB_HISTORIE, OBIECTIVE, LOCAȚII, REGIUNI, în care suntem interesați sau necesită tabele DE ANGAJARE, DEPARTAMENTE și LOCAȚII.
Descrierea acestor tabele este -
Tabel ANGAJAMENTI
Tabel DEPARTAMENTE
Tabel LOCAȚII
Exemplul # 2
Exemplu de unire interioară pentru două tabele
Aici am dori să preluăm date din două tabele ANGAJAMENTE și DEPARTAMENTE. Aici este o întrebare pe care o scriem pentru a prelua identificatorul și prenumele angajatului din tabelul angajatului și numele departamentului din tabelul departamentului -
SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;
producție
Numele coloanelor cu tabelul sunt precedate de clauza SELECT Oracle. Dacă o coloană este comună ambelor tabele, atunci pentru claritate, numele coloanei trebuie prefixat cu numele tabelei. Tabelele din care se vor prelua datele sunt specificate în clauza de la cu separat de virgulă. În clauza WHERE specificați condiția de unire. Relația dintre angajați și tabelele departamentului este determinată de valorile din coloana comună__ angajat din ambele tabele trebuie să fie egale și această relație este denumită Equi Join. În această relație sunt implicate chei primare și chei externe.
Exemplul # 3
Exemplu de unire interioară a două tabele cu Alias
Să rescriem exemplul de mai sus folosind tabele Alias ca -
SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id;
producție
La fel ca în interogarea de mai sus, aliasele tabelelor sunt create în clauza de după numele coloanei și În loc să scrieți un nume complet al tabelei în clauza selectată înainte de fiecare coloană, folosiți tabela Alias ca e și d în interogarea de mai sus.
Exemplul # 4
Exemplu de unire interioară pentru două tabele cu Adăugarea unor clauze suplimentare
Următorul exemplu de interogare în care adăugăm clauze suplimentare la instrucțiunea noastră Oracle SELECT în care clauza pentru adăugarea agregărilor, restricționarea rândurilor returnate, definirea ordinii de sortare și așa mai departe. Iată un exemplu de interogare care recuperează toți angajații care lucrează în departamente Finanțe, Fabricare și Construcții.
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' );
producție
Exemplul # 5
Exemplu de unire interioară a două tabele cu o ordine după clauză
Următorul exemplu de interogare, rescriem interogarea de mai sus adăugând comanda după clauză, afișând astfel datele angajatului sortate după numele departamentului.
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;
producție
Exemplul # 6
Exemplu alăturare interioară pentru alăturarea mai multor tabele
Uneori pentru a obține informațiile, este posibil să avem nevoie să ne alăturăm mai mult de două tabele. În continuare, vom scrie exemplul de interogare pentru a vă alătura mai multor tabele. Luați în considerare exemplul pe care dorim să îl preluăm prenumele angajatului din tabelul angajaților, numele departamentului din tabelul departamentului și id-ul țării în care se află locul în care lucrează acest angajat în tabelul de locații.
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;
producție
Pentru a alătura patru sau mai multe tabele, același concept se aplică prin adăugarea numelui tabelei în clauza FROM a unui oracol și se aplică condiția de unire la clauza WHERE a unui oracol.
Concluzie
Alătura interioară este unul dintre tipurile de unire din baza de date oracle. O îmbinare interioară folosită pentru a se alătura mai multor tabele și pentru a returna acele rânduri pentru care condiția de unire este sau este adevărată. De obicei, cheia primară și cheia străină sunt implicate în unirea interioară pentru a crea o relație între tabele.
Articole recomandate
Acesta este un ghid pentru Alăturarea internă în Oracle. Aici vom discuta despre introducerea în Alăturați alături de câteva exemple în detaliu. Puteți parcurge și alte articole sugerate pentru a afla mai multe -
- Se înscrie în MySQL
- Întrebări Oracle
- Depozitarea datelor Oracle
- Ce este baza de date Oracle