Alăturați-vă în Oracle - Aflați Top 6 exemple de interogare de înscriere interioară în Oracle

Cuprins:

Anonim

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 -

  1. Se înscrie în MySQL
  2. Întrebări Oracle
  3. Depozitarea datelor Oracle
  4. Ce este baza de date Oracle