Vnútorné pripojenie v systéme Oracle Naučte sa 6 najčastejších dopytov s príkladmi vnútorného spojenia v systéme Oracle

Obsah:

Anonim

Úvod do spoločnosti Oracle

Klauzuly o spojení sa používajú v databáze Oracle o prístupe k údajom z viacerých tabuliek na získanie informácií. V databáze Oracle sú rôzne typy spojení.

Vnútorné pripojenie je jedným z typov spojenia v databáze Oracle. Vnútorné spojenie, spojenie viacerých tabuliek a vrátenie tých riadkov, pre ktoré je alebo sú podmienky spojenia pravdivé. Vnútorný spoj sa označuje aj ako jednoduchý spoj. Vnútorné spojenie je najbežnejším spojením medzi typmi spojenia.

Syntax vnútorného spojenia

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

Vizuálna reprezentácia vnútorného spojenia je znázornená v nižšie uvedenom diagrame, ako v nižšie uvedenom diagrame sa tieňovaná oblasť vracia ako výsledok Oracle Inner Join.

Výsledkom je, že Oracle Inner Join vráti priesečníkové záznamy t1 a t2.

Príklady dopytov pre vnútorné pripojenie

Poďme sa podrobne zoznámiť s vnútorným spojením pomocou niekoľkých príkladov dotazu:

Príklad č. 1

Príklad dopytu pre vnútorné pripojenie

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

Tento príklad nad Oracle INNER JOIN vráti všetky riadky z tabuľky zamestnancov a tabuľky oddelení, kde sa zhoduje hodnota _id zamestnanca v tabuľke zamestnancov aj tabuľke oddelení.

Uvažujeme tu o schéme hodín, ktoré sú vzorovými schémami databázy Oracle. Schéma hr obsahuje tabuľky KRAJINY, ZAMESTNANCI, ODDELENIA, JOB_HISTORY, PRACOVNÉ MIESTA, MIESTE, REGIÓNY, o ktoré sa zaujímame alebo požadujeme tabuľky ZAMESTNANCOV, ODDELENIA A MIESTO.

Opis týchto tabuliek je -

Tabuľka ZAMESTNANCI

ODDELENIA tabuľky

Tabuľka LOKÁCIE

Príklad č. 2

Príklad vnútorného spojenia pre dve tabuľky

Tu by sme chceli načítať údaje z dvoch tabuliek ZAMESTNANCI A ODDELENIA. V tomto dotaze píšeme, aby sme získali identifikačné číslo zamestnanca a meno zamestnanca z tabuľky zamestnanca a názov oddelenia z tabuľky pracoviska -

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

Výkon

Názvom stĺpcov s tabuľkou predchádza klauzula Oracle SELECT. Ak je stĺpec spoločný pre obe tabuľky, musí byť názov stĺpca kvôli prehľadnosti uvedený pred názvom tabuľky. Tabuľky, z ktorých sa majú údaje získať, sa v klauzuli z určia s čiarkou oddelenými. V klauzule WHERE uveďte podmienku spojenia. Vzťah medzi zamestnancami a tabuľkami oddelení je určený hodnotami v spoločnom stĺpci Employ_id v oboch tabuľkách musí byť rovnaký a tento vzťah sa označuje ako spojenie Equi Join. Do tohto vzťahu sa zvyčajne zapájajú primárne a cudzie kľúče.

Príklad č. 3

Príklad vnútorného spojenia dvoch tabuliek s Aliasy

Prepíšme vyššie uvedený príklad použitím aliasu tabuľky ako -

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

Výkon

Podobne ako vo vyššie uvedenom dotaze sa aliasy tabuľky vytvárajú v klauzuli z za názvom stĺpca a namiesto písania celého názvu tabuľky do klauzuly výberu pred každým stĺpcom použite tabuľku Aliasy ako e a d vo vyššie uvedenom dotaze.

Príklad č. 4

Príklad vnútorného spojenia pre dve tabuľky s pridaním ďalších ustanovení

Ďalší príklad dotazu, do ktorého pridávame ďalšie klauzuly do nášho príkazu Oracle SELECT, do ktorého sa vkladá klauzula na pridávanie agregácií, obmedzovanie vrátených riadkov, definovanie poradia zoradenia atď. Tu je príklad dotazu, ktorý vyhľadáva všetkých zamestnancov, ktorí pracujú v oddeleniach Financie, Výroba a Stavebníctvo.

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ýkon

Príklad č. 5

Príklad vnútorného spojenia dvoch tabuliek s poradím podľa doložky

Nasledujúci príklad dotazu prepíšeme vyššie uvedený dotaz pridaním doložky podľa poradia, a preto zobrazíme údaje zamestnanca zoradené podľa názvu oddelenia.

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ýkon

Príklad č. 6

Príklad vnútorného spojenia pre pripojenie viacerých tabuliek

Niekedy potrebujeme získať informácie, aby sme sa mohli spojiť s viac ako dvoma tabuľkami. Ďalej píšeme príklad dotazu, aby sme sa spojili s viacerými tabuľkami. Zoberme si príklad, ktorý chceme získať zo zamestnaneckej tabuľky meno zamestnanca, názov oddelenia z tabuľky oddelení a identifikačné číslo krajiny miesta, kde tento zamestnanec pracuje v tabuľke umiestnení.

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ýkon

Pre spojenie štyroch alebo viacerých tabuliek platí rovnaká koncepcia pridaním názvu tabuľky do klauzuly FROM orákra a podmienky spojenia sa pripojí do klauzuly WHERE orákulu.

záver

Vnútorné pripojenie je jedným z typov spojenia v databáze Oracle. Vnútorné spojenie sa používa na spojenie viacerých tabuliek a vrátenie tých riadkov, pre ktoré je alebo sú podmienky spojenia pravdivé. Primárny kľúč a cudzí kľúč sa zvyčajne podieľajú na vnútornom spojení, aby vytvorili vzťah medzi tabuľkami.

Odporúčané články

Toto je príručka spoločnosti Inner Join in Oracle. Tu diskutujeme o úvode k Inner join spolu s niekoľkými príkladmi podrobne. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Pripojí sa k MySQL
  2. Dotazy Oracle
  3. Oracle Data Warehousing
  4. Čo je Oracle Database