Skillnaden mellan Inner Join och Natural Join

Innehållsförteckning:

Skillnaden mellan Inner Join och Natural Join
Skillnaden mellan Inner Join och Natural Join

Video: Skillnaden mellan Inner Join och Natural Join

Video: Skillnaden mellan Inner Join och Natural Join
Video: Part 9 Difference between inner join and left join 2024, Juli
Anonim

Nyckelskillnaden mellan Inner Join och Natural Join är att Inner Join ger resultatet baserat på matchade data enligt det likhetsvillkor som anges i frågan medan Natural Join ger resultatet baserat på kolumnen med samma namn och samma datatyp finns i tabeller som ska sammanfogas.

DBMS gör det enkelt att lagra, hämta och manipulera data. Den lagrar data i form av tabeller. Varje tabell består av rader och kolumner. Raderna representerar varje enhet medan kolumnerna representerar attributen. Antag en studentdatabas. Varje rad representerar en elev. Kolumnerna representerar attribut som id, namn, betyg, ålder. En DBMS är en samling tabeller och varje tabell är relaterad med begränsningar som främmande nycklar. Ibland räcker det inte att använda ett enda bord. Det finns situationer som kräver användning av flera tabeller. För att kombinera två tabeller bör minst en kolumn vara gemensam. Kombinationen av tabeller kallas join.

Vad är Inner Join?

Exempel på en inre sammanfogning är följande. Nedan är elevbordet.

Skillnaden mellan Inner Join och Natural Join figur 1
Skillnaden mellan Inner Join och Natural Join figur 1

Studentinfotabellen är som följer.

Skillnaden mellan Inner Join och Natural Join fig 2
Skillnaden mellan Inner Join och Natural Join fig 2

För att utföra inre join, bör det finnas minst en match mellan båda borden. ID 1, 2, 3 är gemensamma för båda tabellerna. Därför är det möjligt att utföra inre join.

Skillnaden mellan Inner Join och Natural Join
Skillnaden mellan Inner Join och Natural Join

Figur 01: SQL Join

Frågan INNER JOIN för att gå med i dessa två tabeller är följande.

SELECTfrån student

INNER JOIN student_info WHERE student.id=student_info.id;

Om du kör ovanstående SQL-kommando kommer följande tabell att matas ut.

Skillnaden mellan Inner Join och Natural Join fig 3
Skillnaden mellan Inner Join och Natural Join fig 3

Vad är Natural Join?

Exempel på en naturlig koppling är följande. Nedan är elevbordet.

Skillnaden mellan Inner Join och Natural Join fig 4
Skillnaden mellan Inner Join och Natural Join fig 4

Studentinfotabellen är som följer.

Skillnaden mellan Inner Join och Natural Join fig 5
Skillnaden mellan Inner Join och Natural Join fig 5

För att utföra naturlig koppling bör det finnas en kolumn med samma namn och samma datatyp. Id-kolumnen är densamma för båda tabellerna. Därför är det möjligt att naturligt gå med i båda dessa bord.

Frågan NATURAL JOIN för att sammanfoga dessa två tabeller är som följer.

SELECTfrån student NATURAL JOIN student_info;

Om du kör ovanstående SQL-kommando kommer följande tabell att matas ut.

Skillnaden mellan Inner Join och Natural Join fig 6
Skillnaden mellan Inner Join och Natural Join fig 6

Vilket är förhållandet mellan Inner Join och Natural Join?

Natural Join är en typ av Inre Join

Vad är skillnaden mellan Inner Join och Natural Join?

Inner join ger resultatet baserat på matchade data enligt likhetsvillkoret som anges i frågan medan den naturliga sammanfogningen ger resultatet baserat på kolumnen med samma namn och samma datatyp som finns i tabeller som ska sammanfogas. Dessutom är syntaxen för inre sammanfogning och naturlig sammanfogning olika.

När tabell1 består av id, namn och tabell2 består av id och stad, kommer den inre sammanfogningen att ge den resulterande tabellen med matchande rader. Den kommer att ha id, namn, igen id och stad. Å andra sidan, i naturlig sammanfogning, ger den resulterande tabellen med matchande rader med kolumner id, namn, stad.

Skillnaden mellan inre sammanfogning och naturlig sammanfogning i tabellform
Skillnaden mellan inre sammanfogning och naturlig sammanfogning i tabellform

Sammanfattning – Inner Join vs Natural Join

Nyckelskillnaden mellan inner join och natural join är att inner join ger resultatet baserat på matchade data enligt likhetsvillkoret som anges i SQL-frågan medan natural Join ger resultatet baserat på kolumnen med samma namn och samma datatyp som finns i tabeller som ska sammanfogas.

Rekommenderad: