Aanbevolen, 2024

Editor'S Choice

Verschil tussen Inner Join en Outer Join in SQL

Inner Join en Outer Join zijn beide typen Join. Join vergelijkt en combineert tuples uit twee relaties of tabellen. Inner Join geeft de natuurlijke join aan, dwz als u een join-clausule schrijft zonder trefwoord Inner, voert dit de natuurlijke join-bewerking uit. Het potentiële verschil tussen Inner Join en Outer Join is dat Inner Join alleen de overeenkomende tuples retourneert uit zowel de tabel als de outer join en alle tuples uit beide vergeleken tabellen retourneert. Laten we enkele andere verschillen tussen Inner Join en Outer Join bespreken met behulp van de onderstaande vergelijkingsgrafiek.

Vergelijkingstabel

Basis voor vergelijkingInner JoinOuter Join
basis-Inner Join voert alleen de overeenkomende tuples uit vanuit de tabel.Outer Join toont alle tuples uit beide tabellen.
DatabaseDe potentiële grootte van de database die door Inner Join wordt geretourneerd, is relatief kleiner dan Outer Join.Outer join retourneert relatief grotere database.
TypesGeen typen.Left Outer Join,
Rechts Outer Join,
en Full Outer Join.

Definitie van Inner Join

Inner Join wordt ook wel Natural Join genoemd. Inner Join vergelijkt twee tabellen en combineert het overeenkomende tuple in beide tabellen. Het wordt ook wel het standaardtype join genoemd, omdat Join-clausule wordt geschreven zonder het interne sleutelwoord om de natuurlijke join uit te voeren. Als de join-clausule is geschreven zonder Outer-sleutelwoord, wordt ook inner join uitgevoerd.

Inner Join kan met een voorbeeld worden uitgelegd. Er zijn twee tafels met een studententafel en een afdelingstafel. Laten we nu begrijpen wat de innerlijke join doet.

SELECT Name, Sem, Deparment_name FROM Student INNER JOIN Department ON Student.Department_ID = Department.ID.

U kunt zien dat alleen die tuples worden verkregen in de resultante waarbij Student.Department_ID = Department.ID. Vandaar dat we kunnen zeggen dat Inner Join alleen het bijpassende tupel van twee tafels combineert.

Definitie van Outer Join

Anders dan bij Inner Join, zijn alleen die tuples uitvoer die dezelfde attribuutwaarden heeft in zowel de vergeleken tabel; Outer Join voert alle tuples van beide tafels uit. Outer join bestaat uit drie typen: Left Outer Join, Right Outer Join en Full Outer Join .

Laten we ze één voor één begrijpen. Laten we eerst Left Outer Join nemen.

Selecteer Naam, Afdelingsnaam Van Student Left Outer Join-afdeling ON Student.Department_ID = Depoartment.ID.

U kunt zien dat alle tuples van Student Table worden weergegeven in het resultaat.

Selecteer Naam, Afdelingsnaam Van Afdeling Rechts Buiten Sluit aan bij Student ON Student.Department_ID = Depoartment.ID.

U kunt zien dat alle tuples van de Departemententabel worden weergegeven.

Selecteer Naam, Afdelingsnaam Van Student Vol Buiten Join Afdeling AAN Student.Department_ID = Depoartment.ID.

U kunt zien dat alle tuples uit beide tabellen in het resultaat worden weergegeven.

Belangrijkste verschillen tussen inner join en outer join

  1. Het basisverschil tussen de Inner Join en Outer Join is dat innerlijke join alleen de overeenkomende tuples uit de tabellen vergelijkt en combineert. Aan de andere kant vergelijkt de outer join en combineert alle tuples van beide tabellen die worden vergeleken.
  2. De databasegrootte van de resulterende uit de innerlijke join is kleiner dan outer join.
  3. Er zijn drie soorten buitenste join links buiten join, rechter outer join en volledige outer join. Maar inner join is niet van dergelijke typen.

Conclusie:

Beide joins zijn erg handig. Het gebruik ervan hangt af van de behoefte van de gebruiker.

Top