Mest moderne relasjonsdatabase servere bruker Structured Query Language , eller SQL, legge til, oppdatere og rapportere om informasjon i databaser . SQL er SELECT-setningen , brukes til å vise data , har en valgfri klausul kalt INNER JOIN . Den kobler to tabeller sammen midlertidig inn i en enkelt enhet. SQL lar deg bruke INNER JOIN på to måter: implisitt , ved å angi tabellene og eksplisitt ved å inkludere ordene " INNER JOIN " i setningen syntaks . Velg
I SQL , viser SELECT-setningen lister basert på data i en database . For eksempel , for å vise en enkel liste over kunder sortert etter navn , kan du bruke følgende SQL-kode :
SELECT customer_number , navn , by, stat, zip_code FRA kunder ORDER BY navn ;
Indre Bli
tilkoblingsoperasjon kobler sammen to bord sammen . Tabellen kunde , i dette eksempelet , kan ha et felt som heter sales_code som refererer til tilsvarende poster i en egen selger tabellen . Følgende utsagn liste kundeinformasjon og selgers navn. Det første eksempelet bruker BLI implisitt , den andre , eksplisitt : en
SELECT customer_number , navn , by, stat, zip_code , sales_name fra kunder , selger WHERE customers.sales_code = salesperson.sales_code ORDER BY navn ;
< p> SELECT customer_number , navn , by, stat, zip_code , sales_name FRA kunder INNER JOIN selger PÅ customers.sales_code = salesperson.sales_code ORDER BY navn ;
Resultater
INNER JOIN og implisitte Bli tilnærminger produsere de samme resultatene. Både liste de samme postene sortert i samme rekkefølge . Når du bruker INNER JOIN syntaks, instruerer dette eksplisitt SQL til å koble to tabeller bare på de postene de har til felles. Med den implisitte versjonen , antar SQL du ønsker en indre sammenføyning og kobler tabellene som om du hadde spesifisert det eksplisitt .
Resultatutvikling
ytelse forskjell mellom INNER JOIN og implisitt join avhenger av database -serveren , for eksempel IBMs DB2 eller Microsoft SQL server. I tilfelle av DB2 , er INNER JOIN om en percent.faster . Før serveren utfører en SELECT, organiserer det utsagnet til en plan , som er et sett med trinn optimalisert for å samle data effektivt. De tiltenkte resultater for begge tilnærminger er det samme, så planen er vanligvis nesten det samme. Siden DB2 viser en svak hastighetsforskjellen mellom de to metodene , planene er sannsynligvis annerledes , men i kun små måter .
Best Practice
INNER JOIN syntaks er en nyere, mer eksplisitt tilnærming til en SELECT-setning . Nettstedet ytelse på SQL Server anbefaler bruken over eldre implisitte metoden fordi det er tydeligere . Den implisitte formatet gjør WHERE-leddet utføre dobbelt plikt med å bli med tabeller og vurdere betingede tester . Den eksplisitte format holder de to oppgavene separat ; INNER JOIN ikke sammenføyning og HVOR tester data for bestemte verdier
.