Introduksjon til Joins in Oracle

Joins i Oracle brukes til å få tilgang til dataene fra flere tabeller. En sammenføyning i oracle brukes på et sted der mer enn to tabeller skal slås sammen for å samle nyttig informasjon i Oracle SQL-setningen. Med andre ord sammenføyningssøket som brukes til å hente radene fra mer enn to tabeller eller visninger basert på sammenføyningsbetingelsene. Forbindelsesbetingelsen kan spesifiseres i FROM-leddet eller i hvor-leddet. Sammenføyningsbetingelsen sammenligner kolonnene i de forskjellige tabellene og henter de radene som sammenføyningsbetingelsen er sann for.

Typer ledd i Oracle

I Oracle er det ti forskjellige typer sammenføyninger som er gitt nedenfor:

  • Inner Joins (også kjent som Simple Joins)
  • Equi blir med
  • Ytre Joins
  • Left Outer Joins (også kalt som Left Joins)
  • Right Outer Joins (også kalt som Right Joins)
  • Full Outer Joins (også kalt Full Joins)
  • Selv blir med
  • Cross Joins (også kalt Cartesian Products)
  • Anti skjøter
  • Semi Joins

Deretter forstår vi at hvert blir i detalj med syntaks og eksempler.

1. INNER JOIN (også kjent som Simple Join)

Indre sammenføyninger blir med i flere tabeller og returnerer de radene som sammenføyningsbetingelsen er sann for. Den indre sammenføyningen er den vanligste sammenføyningen blant sammenføyningstyper.

syntaks:

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

Diagrammet nedenfor representerer den visuelle representasjonen av den indre skjøten, som i diagrammet det skyggelagte området kommer tilbake som et resultat av Oracle INNER JOIN:

Oracle INNER JOIN returnerer kryssende postene til t1 og t2 som et resultat.

Eksempel:

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

Dette ovenfor eksempelet på Oracle INNER JOIN vil returnere alle radene fra de ansatte og avdelingstabellene der den ansattes verdi i både de ansatte og avdelingstabellene samsvarer.

2. Equi Joins

Oracle Equi Joins henter de samsvarende kolonneverdiene for flere tabeller. Forbindelsesbetingelsen eller sammenligningsoperatøren som er til stede i WHERE-leddet i den valgte uttalelsen.

syntaks:

SELECT column (, column ) FROM t1, t2
where t1.column = t2.column;

Diagrammet nedenfor representerer den visuelle representasjonen av equijoin, som i diagrammet det skyggelagte området kommer tilbake som et resultat av Oracle Equi Join.

Oracle Equijoin returnerer skjæringspostene for t1 og t2 som et resultat.

Eksempel:

SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee, department
where employee.employee _id = department.employee _id;

Dette ovenfor eksempelet på Oracle Equijoin vil returnere alle radene fra de ansatte og avdelingstabellene der den ansattes verdi i både ansatte og avdelingstabeller samsvarer.

3. Ytre skjøter

En annen type sammenføyninger er en ytre sammenføyning som returnerer et resultat av en indre sammenføyning pluss alle radene fra ett bord som sammenføyningsbetingelsen ikke er sant.

syntaks:

SELECT column (, column ) FROM t1
LEFT | RIGHT | FULL (OUTER) JOIN t2
ON t1.column = t2.column;

Det er tre typer ytre skjøter som gitt nedenfor:

  • Left Outer Joins (også kalt som Left Joins)
  • Right Outer Joins (også kalt som Right Joins)
  • Full Outer Joins (også kalt Full Joins)

4. Venstre ytre del

Venstre ytre sammenkomst returnerer alle rader fra VENSTRE tabellen (i henhold til spesifisert i ON-tilstand), og fra den andre tabellen er det bare de radene der den sammenlagte tilstanden er sann.

syntaks:

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

LEFT OUTER JOIN søkeordet, bruk et LEFT JOIN i noen andre databaser.

Diagrammet nedenfor representerer den visuelle representasjonen av VENSTRE YTRE JOIN, som i diagrammet det skyggelagte området kommer tilbake som et resultat av Oracle VENSTRE YTRE JOIN:

Oracle LEFT OUTER JOIN returnerer alle postene fra t1 og krysser postene til t1 og t2 som et resultat.

Eksempel:

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

Dette ovenfor eksempelet på Oracle LEFT OUTER JOIN vil returnere alle radene fra medarbeiderbordet og fra avdelingsbordet bare de radene der den sammenlagte tilstanden er sann. Avdelingstabellene der den ansattes verdi i både de ansatte og avdelingstabellene stemmer overens.

Hvis den ansattes verdi i medarbeidertabellen stemmer overens med avdelingstabellen, vil feltene i avdelingstabellen være null i resultatet.

5. Høyre ytre del

RIGHT OUTER JOIN-returen inneholder alle rader fra RIGHT-tabellen (i henhold til spesifisert i ON-tilstand), og fra den andre tabellen er det bare de radene der den sammenføyde tilstanden er sann.

syntaks:

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

RIGHT OUTER JOIN-nøkkelordet, bruk som RIGHT JOIN i noen andre databaser.

Diagrammet nedenfor viser den visuelle representasjonen av RIGHT OUTER JOIN, som i diagrammet det skyggelagte området kommer tilbake som et resultat av Oracle RIGHT OUTER JOIN.

Oracle RIGHT OUTER JOIN returnerer alle postene fra t2 og krysser postene til t1 og t2 som et resultat.

Eksempel:

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

Dette ovenfor eksempelet på Oracle LEFT OUTER JOIN vil returnere alle radene fra avdelingsbordet og fra medarbeiderbordet bare de radene der den sammenlagte tilstanden er sann. De ansatte tabeller der den ansattes verdi i både de ansatte og avdelingstabellene samsvarer.

Hvis den ansattes verdi i medarbeidertabellen samsvarer med i avdelingstabellen, vil feltene i medarbeiderbordet være null i resultatet.

6. Full ytre del

Full Outer Join-retur inneholder alle rader fra VENSTRE-tabellen og HØYRE-tabellen med null i felt der sammenføyningstilstanden ikke er sann.

syntaks:

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

FULL OUTER JOIN-nøkkelordet, bruk som FULL JOIN i noen andre databaser.

Diagrammet nedenfor viser den visuelle representasjonen av FULL OUTER JOIN, som i diagrammet det skyggelagte området kommer tilbake som et resultat av Oracle FULL OUTER JOIN.

Oracle FULL OUTER JOIN returnerer alle postene fra t1 og t2 tabeller som et resultat.

Eksempel:

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

Dette ovenfor eksempelet på Oracle FULL OUTER JOIN vil returnere alle rader fra medarbeiderbordet og fra avdelingstabellen med nullverdier der den sammenlagte tilstanden ikke er sann.

7. Oracle Self Joins

Delta i tabellen to ganger i FROM-leddet ved hjelp av navnet på tabellen aliaser. Med andre ord, jeget blir med, bli med på et bord selv. Oracle Self Join kombinerer og returnerer rader på bordet der sammenføyningstilstanden er sann.

Eksempel:

SELECT emp1.employee_name || 'works for' || emp2.employee_name
FROM employees emp1, employees emp2
WHERE emp1.manager_id = emp2.employee_id
ORDER BY emp1.employee_name;

Dette ovenfor Oracle self JOIN-eksempelet vil returnere alle rader fra medarbeiderbordet der den sammenlagte tilstanden er sann.

8. Oracle Cross Joins (også kalt Cartesian Products)

Kryss sammenføyning gjelder der de to tabellene ikke har noen sammenføyningsbetingelse. Korsforbindelsen returnerer det kartesiske produktet av de to tabellene, kartesisk produkt der hver rad i ett bord kombineres med hver rad i det andre bordet. Anta at tabell1 inneholder 100 rader og tabell2 inneholder 10 rader, da vil sammenføyningsresultatet inneholde 1000 rader.

Eksempel;

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
CROSS JOIN department

Dette eksemplet over JOIN-kryss vil returnere alle rader med ansattes bord kombinert med alle rader på avdelingsbordet.

9. Oracle Anti Joins

Antijoin-returen inneholder rader fra VENSTRE tabellen (i henhold til spesifisert i ON-tilstand) der den sammenføyde tilstanden er sann.

Eksempel:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
WHERE department_id NOT IN (SELECT department_id from department
WHERE department_name = 'sales';

Dette ovenfor eksempelet på Oracle ANTI JOIN vil returnere rader fra medarbeiderbordet og hvor den sammenlagte tilstanden er sann.

10. Oracle Semi Joins

Semijoin-returen inneholder unike rader fra VENSTRE-tabellen (i henhold til spesifisert i ON-tilstand) der samsvaret med en EXISTS-undervisning er sann.

Eksempel:

SELECT employee.employee _id, employee.employee_name
FROM employee
WHERE EXISTS (SELECT department_id FROM department
WHERE department_name = 'sales');

Dette ovenfor eksempelet på Oracle SEMI JOIN vil returnere rader fra medarbeidertabellen hvis EXISTS returnerer true.

Konklusjon

Det brukes til å få tilgang til dataene fra flere tabeller. Det er syv forskjellige typer sammenføyninger i en Oracle.

Anbefalte artikler

Dette er en guide til Joins in Oracle. Her diskuterer vi en introduksjon om Joins in Oracle og dens 10 forskjellige typer i Joins in Oracle. Du kan også gå gjennom andre relaterte artikler for å lære mer -

  1. Typer sammenføyninger i SQL
  2. Tableau blir med
  3. Oracle Warehouse Builder
  4. Oracle strengfunksjoner
  5. Hva er en spørring og typer Oracle Queries
  6. Topp 6 typer sammenføyninger i MySQL med eksempler
  7. Veiledning til de 9 beste Oracle Clause (eksempel) l
  8. VELG i MySQL | Eksempler på SELECT i MySQL

Kategori: