Indre del af Oracle - Lær øverste 6 forespørgseksempler på indre forbindelser i Oracle

Indholdsfortegnelse:

Anonim

Introduktion til Inner Join i Oracle

Forbindelsesklausuler bruges i oracle-databasen for at få adgang til dataene fra flere tabeller for at få information. Der er forskellige typer sammenføjninger i Oracle-databasen.

Indvendig sammenføjning er en af ​​typerne af sammenføjning i oracle-databasen. En indre sammenføjning, slutte sig til flere borde og returnere de rækker, som sammenkoblingsbetingelsen er eller er sandt for. En indre sammenbinding er også kendt som en enkel sammenføjning. Den indre sammenføjning er den mest almindelige sammenføjning blandt sammenføjningstyperne.

Syntaks for det indre forbinder

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

Den visuelle repræsentation af den indre sammenføjning er repræsenteret i nedenstående diagram, da i det nedenstående diagram det skraverede område vender tilbage som resultatet af Oracle Inner Join

Oracle Inner Join returnerer de skærede poster af t1 og t2 som et resultat.

Forespørgseksempler for indre tilslutning

Lad os forstå det indre sammenføjning i detaljer ved hjælp af nogle af forespørgseksemplerne:

Eksempel 1

Forespørgseksempel til indre tilslutning

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

Dette ovenstående eksempel på Oracle INNER JOIN returnerer alle rækker fra medarbejderbordet og afdelingstabellen, hvor medarbejderens id-værdi i både medarbejderbordet og afdelingstabellen matches.

Vi overvejer her hr-skemaet, der er eksempelskemaer for Oracle-databasen. Hr-skemaet indeholder LANDE, MEDARBEJDERE, DEPARTEMENTER, JOB_HISTORY, JOBS, LOCATIONS, REGIONS-tabeller, hvor vi er interesserede i eller kræver medarbejdere, DEPARTMENTS og LOCATIONS-tabeller.

Beskrivelsen af ​​disse tabeller er -

Tabel MEDARBEJDERE

Tabel AFDELINGER

Tabel LOCATIONS

Eksempel 2

Eksempel på indre forbindelser til to tabeller

Her vil vi gerne hente data fra to tabeller MEDARBEJDERE og AFDELINGER. Her forespørgsel skriver vi for at hente medarbejderens medarbejder-id og medarbejderens fornavn fra medarbejderens tabel og afdelingens navn fra afdelingens tabel -

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

Produktion

Spaltenavne med tabellen indledes med Oracle SELECT-klausulen. Hvis en kolonne er fælles for begge tabeller, skal kolonnenavnet for klarhed præfixeres med tabellenavnet. Tabellerne, hvorfra dataene skal hentes, specificeres i fra-klausulen med kommasepareret. I WHERE-bestemmelsen skal du angive sammenkoblingsbetingelsen. Forholdet mellem medarbejdere og afdelingstabeller bestemmes af værdierne i den kolonne medarbejder_id i begge tabeller skal være ens, og denne relation kaldes en Equi Join. Almindeligvis primære nøgler og udenlandske nøgler er involveret i denne forbindelse.

Eksempel 3

Indvendigt forbinder eksempel på to borde med aliaser

Lad os omskrive ovenstående eksempel ved at bruge Table Aliases som -

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

Produktion

Som i ovenstående forespørgsel oprettes tabelaliaserne i fra-klausulen efter kolonnenavnet, og i stedet for at skrive et fuldstændigt tabelnavn i markeringsklausulen inden hver kolonne, skal du bruge tabellen aliaser som e og d i ovenstående forespørgsel.

Eksempel 4

Indvendigt sammenføjningseksempel til to tabeller med tilføjelse af yderligere klausuler

Næste eksempel på forespørgsel, hvor vi tilføjer yderligere klausuler til vores Oracle SELECT-sætning, hvor klausul til tilføjelse af aggregeringer, begrænsning af de returnerede rækker, definition af sorteringsrækkefølge og så videre. Her er et eksempel på forespørgsel, der henter alle ansatte, der arbejder i afdelinger Finans, fremstilling og byggeri.

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

Produktion

Eksempel 5

Indvendigt forbinder eksempel på to tabeller med en ordre efter klausul

Næste eksempel på forespørgsel, vi omskriver ovennævnte forespørgsel ved at tilføje ordren efter klausul, og viser derfor medarbejderens data sorteret efter afdelingens navn.

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;

Produktion

Eksempel 6

Eksempel på indvendig forbindelse til flere tabeller

Nogle gange for at få de oplysninger, vi muligvis har brug for at deltage i mere end to tabeller. Dernæst skriver vi forespørgselseksemplet for at deltage i flere tabeller. Overvej eksemplet, vi ønsker at hente medarbejderens fornavn fra medarbejderbordet, afdelingens navn fra afdelingstabellen og landets id for det sted, hvor denne medarbejder arbejder i lokalitetstabellen.

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;

Produktion

For at deltage i fire eller flere tabeller gælder det samme koncept ved at tilføje tabellenavnet i FRA-klausulen for et orakel og anvende sammenkoblingsbetingelsen på WHERE-klausulen i et orakel.

Konklusion

Indvendig sammenføjning er en af ​​typerne af sammenføjning i oracle-databasen. En indre sammenføjning, der bruges til at slutte sig til flere borde og returnere de rækker, som sammenkoblingsbetingelsen er eller er sandt for. Normalt er den primære nøgle og den fremmede nøgle involveret i den indre sammenbinding for at skabe et forhold mellem tabeller.

Anbefalede artikler

Dette er en guide til Inner Join i Oracle. Her diskuterer vi introduktionen til indre sammen med nogle eksempler i detaljer. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. Deltager i MySQL
  2. Oracle Forespørgsler
  3. Oracle Data Warehousing
  4. Hvad er Oracle-database