Mest moderna relationsdatabaser databasservrar använder Structured Query Language , eller SQL , lägga till, uppdatera och rapportera om information i databaser . SQL : s SELECT-sats som används för att visa data , har en valfri klausul kallas INNER JOIN . Den ansluter två tabeller tillsammans tillfälligt till en enda enhet . SQL kan du använda INNER JOIN på två sätt : implicit , genom att ange tabellerna och tydligt med orden " INNER JOIN " i satsens syntax . Välj
SQL , visar SELECT-satsen listar baseras på data i en databas . Till exempel , för att visa en enkel lista över kunder sorterade efter namn , kan du använda följande SQL- kod :
SELECT customer_number , namn , stad , stat , zip_code FROM kunder ORDER BY namn ;
Inner Gå
en join operation kopplar två tabeller tillsammans . Kunden tabellen , i detta exempel , kan ha ett fält som heter sales_code som hänvisar till motsvarande poster i en separat säljare bord . Följande uttalanden lista kundinformation och säljarens namn . Det första exemplet använder GÅ underförstått , den andra , explicit :
SELECT customer_number , namn , stad , statligt , zip_code , sales_name från kunder, säljare WHERE customers.sales_code = salesperson.sales_code ORDER BY namn ;
SELECT customer_number , namn , stad , statligt , zip_code , sales_name FROM kunder INNER JOIN säljare ON customers.sales_code = salesperson.sales_code ORDER BY namn ,
Resultat
INNER JOIN och implicita metoder börjar som ger samma resultat . Båda lista samma poster som sorteras i samma ordning . När du använder INNER JOIN syntax , instruerar detta uttryckligen SQL för att ansluta två tabeller bara på de poster de har gemensamt . Med den implicita versionen , antar SQL du vill ha en inre koppling och kopplar tabellerna som om du hade angett det uttryckligen .
Prestanda
prestanda skillnad mellan INNER JOIN och implicit koppling beror på databasservern , såsom IBM DB2 eller Microsoft SQL Server . I fallet med DB2 , är den inre om bli en percent.faster . Innan servern exekverar en SELECT , organiserar det uttalandet i ett plan, som är en uppsättning steg optimerats för att samla in data effektivt . De avsedda resultaten för båda metoderna är desamma , så planen är vanligtvis nästan samma . Eftersom DB2 visar en liten hastighetsskillnad mellan de två metoderna , planerna är sannolikt annorlunda , men i endast mindre vägar .
Best Practice
INNER JOIN syntaxen är en nyare , mer explicit förhållningssätt till en SELECT-sats . Webbplatsen SQL Server Performance rekommenderar dess användning över den äldre implicit metod eftersom det är tydligare . Den implicita formatet gör WHERE utför dubbel plikt med att gå tabeller och utvärdera villkorliga tester . Den uttryckliga formatet håller två uppgifter separat , INNER JOIN tänker gå och där tester data för specifika värden
.