Inner Join in Oracle - Scopri i 6 migliori esempi di query di Inner Join in Oracle

Sommario:

Anonim

Introduzione a Inner Join in Oracle

Le clausole join sono utilizzate nel database Oracle per accedere ai dati da più tabelle per ottenere informazioni. Esistono diversi tipi di join nel database Oracle.

Il join interno è uno dei tipi di join nel database Oracle. Un join interno, unisci più tabelle e restituisce quelle righe per le quali la condizione di join è o sono vere. Un join interno è anche noto come join semplice. Il join interno è il join più comune tra i tipi di join.

La sintassi del join interno

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

La rappresentazione visiva del join interno è rappresentata nel diagramma in basso, poiché nel diagramma in basso l'area ombreggiata ritorna come risultato del Join interno Oracle

Di conseguenza, Oracle Inner Join restituisce i record di intersezione di t1 e t2 come risultato.

Esempi di query per Inner Join

Comprendiamo il join interno in dettaglio con l'aiuto di alcuni degli esempi di query:

Esempio 1

Esempio di query per Inner Join

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

L'esempio Oracle INNER JOIN sopra riportato restituirà tutte le righe dalla tabella dei dipendenti e dalla tabella dei dipartimenti in cui il valore del dipendente _id sia nella tabella dei dipendenti che nella tabella dei dipartimenti viene confrontato.

Consideriamo qui lo schema hr che è lo schema di esempio del database Oracle. Lo schema hr contiene le tabelle PAESI, DIPENDENTI, DIPARTIMENTI, LAVORO-STORIA, LAVORI, LOCALITÀ, REGIONI, a cui siamo interessati o che richiedono tabelle DIPENDENTI, DIPARTIMENTI e LOCALITÀ.

La descrizione di queste tabelle è -

Tabella DIPENDENTI

Tabella DIPARTIMENTI

POSIZIONI della tabella

Esempio n. 2

Esempio di join interno per due tabelle

Qui vorremmo recuperare i dati da due tabelle DIPENDENTI e DIPARTIMENTI. Qui eseguiamo una query per recuperare l'ID dell'impiegato dell'impiegato e il nome dell'impiegato dalla tabella dell'impiegato e il nome del dipartimento dalla tabella dell'ufficio -

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

Produzione

I nomi di colonna con la tabella sono preceduti dalla clausola Oracle SELECT. Se una colonna è comune ad entrambe le tabelle, per chiarezza il nome della colonna deve essere preceduto dal nome della tabella. Le tabelle da cui recuperare i dati sono specificate nella clausola from con la virgola separata. Nella clausola WHERE specificare la condizione di join. La relazione tra dipendenti e tabelle di reparto è determinata dai valori nella colonna comune employee_id in entrambe le tabelle deve essere uguale e questa relazione viene definita Equi Join. Chiave primaria e chiavi esterne sono coinvolte in questa relazione.

Esempio n. 3

Esempio di join interno di due tabelle con alias

Riscriviamo l'esempio sopra usando Alias ​​tabella come -

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

Produzione

Come nella query sopra, gli alias di tabella vengono creati nella clausola from dopo il nome della colonna e invece di scrivere un nome di tabella completo nella clausola select prima di ogni colonna utilizzare gli alias di tabella come e ed d nella query sopra.

Esempio n. 4

Esempio di join interno per due tabelle con Aggiunta di clausole aggiuntive

Prossimo esempio di query in cui aggiungiamo ulteriori clausole alla nostra istruzione Oracle SELECT in cui clausola per l'aggiunta di aggregazioni, la limitazione delle righe restituite, la definizione dell'ordine di ordinamento e così via. Ecco una query di esempio che recupera tutti i dipendenti che lavorano nei dipartimenti Finanza, Produzione e Costruzione.

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' );

Produzione

Esempio n. 5

Esempio di join interno di due tabelle con una clausola order by

Nel prossimo esempio di query, riscriviamo la query precedente aggiungendo la clausola order by, visualizzando quindi i dati del dipendente ordinati in base al nome del reparto.

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;

Produzione

Esempio n. 6

Esempio di Join interno per join di più tabelle

A volte per ottenere le informazioni potrebbe essere necessario unire più di due tabelle. Successivamente, scriviamo l'esempio di query per unire più tabelle. Considera l'esempio che vogliamo recuperare il nome dell'impiegato dalla tabella degli impiegati, il nome del dipartimento dalla tabella degli uffici e l'ID del paese in cui lavora questo impiegato nella tabella degli indirizzi.

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;

Produzione

Per unire quattro o più tabelle si applica lo stesso concetto aggiungendo il nome della tabella nella clausola FROM di un oracolo e applicare la condizione di join nella clausola WHERE di un oracolo.

Conclusione

Il join interno è uno dei tipi di join nel database Oracle. Un join interno utilizzato per unire più tabelle e restituire quelle righe per le quali la condizione di join è o sono vere. Comunemente la chiave primaria e la chiave esterna sono coinvolte nell'unione interna per creare una relazione tra le tabelle.

Articoli consigliati

Questa è una guida per Inner Join in Oracle. Qui discutiamo l'introduzione al join interno insieme ad alcuni esempi in dettaglio. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Si unisce a MySQL
  2. Oracle Queries
  3. Oracle Data Warehousing
  4. Cos'è Oracle Database