Verschil tussen innerlijke join en externe join in SQL

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 11 Kunnen 2024
Anonim
Inner Join, Left Join, Right Join and Full Outer Join in SQL Server | SQL Server Joins
Video: Inner Join, Left Join, Right Join and Full Outer Join in SQL Server | SQL Server Joins

Inhoud


Inner Join en Outer Join zijn beide soorten Join. Join vergelijkt en combineert tupels uit twee relaties of tabellen. Inner Join geeft de natuurlijke join aan, d.w.z. als u een Join-clausule zonder Inner-sleutelwoord schrijft, wordt de natuurlijke join-bewerking uitgevoerd. Het potentiële verschil tussen Inner Join en Outer Join is dat Innerlijke join geeft alleen de overeenkomende tupels uit zowel de tabel als de Outer Join geeft alle tupels terug uit beide vergeleken tabellen. Laten we enkele andere verschillen tussen Inner Join en Outer Join bespreken met behulp van de onderstaande vergelijkingstabel.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingInnerlijke joinOuter Join
basis-Inner Join voert alleen de overeenkomende tupels uit beide tabellen uit.Outer Join toont alle tupels uit beide tabellen.
DatabaseDe potentiële grootte van de database die wordt geretourneerd door Inner Join is relatief kleiner dan Outer Join.Outer join retourneert relatief grotere database.
SoortenGeen typen.Linker buitenaansluiting,
Right Outer Join,
en volledige deelname aan de buitenwereld.


Definitie van Inner Join

Inner Join wordt ook wel Natural Join genoemd. Inner Join vergelijkt twee tabellen en combineert de overeenkomende tuple in beide tabellen. Het wordt ook wel het standaardtype join genoemd, omdat de clausule Join wordt geschreven zonder het interne trefwoord waarmee de natuurlijke join wordt uitgevoerd. Als de clausule Join wordt geschreven zonder het trefwoord Outer, wordt ook de inner join uitgevoerd.

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

SELECT Naam, Sem, Deparment_naam VAN Student BINNENKOM BIJ DEEL AAN Student.Department_ID = Afdeling.ID.


Je kunt zien dat alleen die tupels worden verkregen in de resultante waarin Student.Department_ID = Department.ID. Daarom kunnen we zeggen dat Inner Join alleen de overeenkomende tupel van twee tabel combineert.

Definitie van Outer Join

In tegenstelling tot Inner Join, worden alleen die tupels uitgevoerd met dezelfde kenmerkwaarden in beide vergeleken tabellen; Outer Join voert alle tupels van beide tabellen uit. Outer Join is van drie soorten Linker buitenaansluiting, Right Outer Joinen Volledige deelname aan de buitenwereld.

Laten we ze een voor een begrijpen. Laten we eerst Left Outer Join nemen.

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

Je kunt zien dat alle tupels uit de studententabel worden weergegeven in het resultaat.

Selecteer Naam, Afdelingsnaam Van Afdeling Rechts Buiten Lid worden Student AAN Student.Department_ID = Depoartment.ID.

Je kunt zien dat alle tupels uit de tabel Afdeling worden weergegeven.

Selecteer Naam, Afdelingsnaam Van Student Volledig Buiten Afsluiten Afdeling AAN Student.Department_ID = Depoartment.ID.

Je kunt zien dat alle tupels uit beide tabellen in het resultaat worden weergegeven.

  1. Het fundamentele verschil tussen de Inner Join en de Outer Join is dat de inner join alleen de bijpassende tupels van de tafels vergelijkt en combineert. Aan de andere kant vergelijkt de Outer Join alle tupels van beide tabellen die worden vergeleken.
  2. De databasegrootte van de resultante verkregen uit de Inner Join is kleiner dan Outer Join.
  3. Er zijn drie soorten Outer Join Left Outer Join, Righ Outer Join en Full Outer Join. Maar inner Join heeft zulke types niet.

Gevolgtrekking:

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