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.
Studentinfotabellen är som följer.
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.
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.
Vad är Natural Join?
Exempel på en naturlig koppling är följande. Nedan är elevbordet.
Studentinfotabellen är som följer.
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.
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.
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.