DBMS Joins: Inner, THETA, Outer, Equi Types of Join Operasjoner
Hva er Join in DBMS?
Bli med i DBMS er en binรฆr operasjon som lar deg kombinere produkt og utvalg i รฉn enkelt setning. Mรฅlet med รฅ lage en sammenfรธyningsbetingelse er at den hjelper deg รฅ kombinere dataene fra to eller flere DBMS-tabeller. Tabellene i DBMS er assosiert ved hjelp av primรฆrnรธkkelen og fremmednรธkler.
Typer bli med
Det er hovedsakelig to typer sammenfรธyninger i DBMS:
- Indre ledd: Theta, Natural, EQUI
- Ytre skjรธt: Venstre, Hรธyre, Full
La oss se dem i detalj:
Indre sammenfรธyning
Indre sammenfรธyning brukes til รฅ returnere rader fra begge tabellene som tilfredsstiller den gitte betingelsen. Det er den mest brukte sammenfรธyningsoperasjonen og kan betraktes som en standard sammenfรธyningstype
En indre sammenfรธyning eller equijoin er en komparatorbasert sammenfรธyning som bruker likhetssammenligninger i sammenfรธyningspredikatet. Men hvis du bruker andre sammenligningsoperatorer som ">" kan det ikke kalles equijoin.
Inner Join videre delt inn i tre undertyper:
- Theta bli med
- Naturlig sammenfรธyning
- EQUI bli med
Theta Bli med
Theta Bli med lar deg slรฅ sammen to tabeller basert pรฅ tilstanden representert av theta. Theta blir med i arbeid for alle sammenligningsoperatรธrer. Det er merket med symbol ฮธ. Det generelle tilfellet med JOIN-operasjon kalles en Theta-join.
Syntaks:
A โฮธ B
Theta join kan bruke alle betingelser i utvalgskriteriene.
Tenk pรฅ fรธlgende tabeller.
| Tabell A | Tabell B | |||
|---|---|---|---|---|
| kolonne 1 | kolonne 2 | kolonne 1 | kolonne 2 | |
| 1 | 1 | 1 | 1 | |
| 1 | 2 | 1 | 3 | |
For eksempel:
A โ A.column 2 > B.column 2 (B)
| A โ A.kolonne 2 > B.kolonne 2 (B) | |
|---|---|
| kolonne 1 | kolonne 2 |
| 1 | 2 |
EQUI Bli med
EQUI Bli med gjรธres nรฅr en Theta-sammenfรธyning kun bruker ekvivalensbetingelsen. EQUI join er den vanskeligste operasjonen รฅ implementere effektivt i en RDBMS, og en grunn til at RDBMS har essensielle ytelsesproblemer.
For eksempel:
A โ A.column 2 = B.column 2 (B)
| A โ A.kolonne 2 = B.kolonne 2 (B) | |
|---|---|
| kolonne 1 | kolonne 2 |
| 1 | 1 |
Natural Join (โ)
Naturlig Bli med bruker ikke noen av sammenligningsoperatรธrene. I denne typen sammenfรธyning skal attributtene ha samme navn og domene. I Natural Join bรธr det vรฆre minst รฉn felles egenskap mellom to relasjoner.
Den utfรธrer seleksjon som danner likhet pรฅ de attributtene som vises i begge relasjoner og eliminerer dupliserte attributter.
Eksempel:
Tenk pรฅ de to fรธlgende tabellene
| C | |
|---|---|
| I | Square |
| 2 | 4 |
| 3 | 9 |
| D | |
|---|---|
| I | Cube |
| 2 | 8 |
| 3 | 18 |
C โ D
| C โ D | ||
|---|---|---|
| I | Square | Cube |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
Ytre sammenfรธyning
An Ytre sammenfรธyning krever ikke at hver post i de to sammenfรธyningstabellene har en samsvarende post. I denne typen sammenfรธyning beholder tabellen hver post selv om det ikke finnes noen annen samsvarende post.
Tre typer ytre skjรธter er:
- Venstre ytre skjรธt
- Hรธyre ytre skjรธt
- Full ytre sammenfรธyning
Venstre ytre skjรธt (A โ B)
Venstre ytre skjรธt returnerer alle radene fra tabellen til venstre selv om ingen samsvarende rader er funnet i tabellen til hรธyre. Nรฅr ingen samsvarende post er funnet i tabellen til hรธyre, returneres NULL.
Tenk pรฅ fรธlgende 2 tabeller
| A | |
|---|---|
| I | Square |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
| B | |
|---|---|
| I | Cube |
| 2 | 8 |
| 3 | 18 |
| 5 | 75 |
AB
| A โ B | ||
|---|---|---|
| I | Square | Cube |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
Hรธyre ytre skjรธt (A โ B)
Hรธyre ytre skjรธt returnerer alle kolonnene fra tabellen til hรธyre selv om ingen samsvarende rader er funnet i tabellen til venstre. Der det ikke er funnet treff i tabellen til venstre, returneres NULL. RIGHT ytre JOIN er det motsatte av LEFT JOIN
I vรฅrt eksempel, la oss anta at du trenger รฅ fรฅ navn pรฅ medlemmer og filmer leid av dem. Nรฅ har vi et nytt medlem som ikke har leid noen film ennรฅ.
AB
| A โ B | ||
|---|---|---|
| I | Cube | Square |
| 2 | 8 | 4 |
| 3 | 18 | 9 |
| 5 | 75 | - |
Full ytre skjรธt (A โ B)
I en Full ytre sammenfรธyning , alle tupler fra begge relasjonene er inkludert i resultatet, uavhengig av samsvarsbetingelsen.
Eksempel:
AB
| A โ B | ||
|---|---|---|
| I | Square | Cube |
| 2 | 4 | 8 |
| 3 | 9 | 18 |
| 4 | 16 | - |
| 5 | - | 75 |
Sammendrag
- Det er hovedsakelig to typer sammenfรธyninger DBMS 1) Indre skjรธt 2) Ytre skjรธt
- En indre sammenfรธyning er den mye brukte sammenfรธyningsoperasjonen og kan betraktes som en standard sammenfรธyningstype.
- Inner Join er videre delt inn i tre undertyper: 1) Theta join 2) Natural join 3) EQUI join
- Theta Join lar deg slรฅ sammen to tabeller basert pรฅ tilstanden representert av theta
- Nรฅr en theta-sammenfรธyning kun bruker ekvivalensbetingelse, blir den en ekvi-sammenfรธyning.
- Natural join bruker ikke noen av sammenligningsoperatรธrene.
- En ytre sammenfรธyning krever ikke at hver post i de to sammenfรธyningstabellene har en samsvarende post.
- Ytre skjรธt er videre delt inn i tre undertyper er: 1) Venstre ytre skjรธt 2) Hรธyre ytre skjรธt 3) Full ytre skjรธt
- LEFT Outer Join returnerer alle radene fra tabellen til venstre, selv om ingen samsvarende rader er funnet i tabellen til hรธyre.
- RIGHT Outer Join returnerer alle kolonnene fra tabellen til hรธyre, selv om ingen samsvarende rader er funnet i tabellen til venstre.
- I en full ytre sammenfรธyning er alle tupler fra begge relasjoner inkludert i resultatet, uavhengig av matchende betingelse.


