Innehåll
Inre sammanfogar returinformation som visas i två eller flera databaser
Inre sammanfogningar är de vanligaste förbindelserna i SQL. De returnerar bara information som finns i två eller flera databastabeller. Kopplingsvillkoret bestämmer vilka poster som är ihopkopplade och specificeras i WHERE-klausulen. Om du till exempel behöver en lista över matchningar av förare / fordon där både fordonet och föraren finns i samma stad utför följande SQL-fråga denna uppgift:
Här är resultaten:
efternamn förnamn tagg
----------- ------------ ----
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT
Observera att resultaten är exakt vad som sökts. Det är möjligt att ytterligare förfina frågan genom att ange ytterligare kriterier i WHERE-klausulen. Antag att den ursprungliga frågan matchar förare till fordon som de inte har behörighet att köra (lastbilsförare till bilar och vice versa). Du kan använda följande fråga för att lösa problemet:
Det här exemplet specificerar källtabellen för klassattributet i SELECT-klausulen eftersom klassen är tvetydig - den visas i båda tabellerna. Koden anger vanligtvis vilken tabells kolumn som ska inkluderas i frågeställningsresultaten. I det här fallet gör det ingen skillnad, eftersom kolumnerna är identiska och de sammanfogas med en equijoin. Men om kolumnerna innehöll olika data, skulle denna distinktion vara kritisk. Här är resultaten från denna fråga:
efternamn förnamn tagg klass
---------- ------------ ---- ------
Baker Roland H122JM Car
Smythe Michael D824HA Lastbil
Jacobs Abraham J291QR Bil
De saknade raderna kopplade Michael Smythe till en bil och Abraham Jacobs till en lastbil, fordon som de inte hade behörighet att köra.
Du kan också använda inre sammanfogningar för att kombinera data från tre eller flera tabeller.