De fleste moderne relationel database servere bruger Structured Query Language eller SQL, til at tilføje, opdatere og rapportere om oplysninger i databaser . SQL er SELECT-sætning , der anvendes til at vise data , har en valgfri bestemmelse hedder INNER JOIN . Det forbinder to tabeller sammen midlertidigt i en enkelt enhed . SQL kan du bruge INNER JOIN på to måder: implicit ved at specificere tabeller og udtrykkeligt ved angivelsen " INNER JOIN " i sætningens syntaks. Vælg
SQL, SELECT sætning viser lister baseret på data i en database. For eksempel , for at vise en simpel liste over kunder, sorteret efter navn kan du bruge følgende SQL-kode : Hej
SELECT customer_number , navn, by, stat , zip_code FROM kunder ORDER BY navn ;
Inner Deltag
JOIN operation forbinder to tabeller sammen. Debitorkartoteket , i dette eksempel , kan have et felt med navnet sales_code der henviser til de tilsvarende poster i en særskilt sælger tabel . Følgende udsagn opføre kundeoplysninger og sælgerens navn. Det første eksempel bruger JOIN implicit , den anden , udtrykkeligt : Hej
SELECT customer_number , navn, by, stat , zip_code , sales_name fra kunder, sælger WHERE customers.sales_code = salesperson.sales_code ORDER BY navn ;
< p> SELECT customer_number , navn, by, stat , zip_code , sales_name FROM kunder INNER JOIN sælger ON customers.sales_code = salesperson.sales_code ORDER BY navn
Results
INNER JOIN og implicitte join tilgange producere de samme resultater. Begge liste de samme poster sorteret i samme rækkefølge . Når du bruger INNER JOIN syntaks , dette udtrykkeligt instruerer SQL til at forbinde to tabeller kun på de poster , de har til fælles. Med den implicitte version antager SQL du ønsker en indre join og forbinder tabellerne, som hvis du havde angivet det eksplicit.
Resultater
Forestillingen Forskellen mellem INNER JOIN og implicit join afhænger af databasen server, f.eks IBMs DB2 eller Microsoft SQL server . I tilfælde af DB2 , er INNER JOIN omkring en percent.faster . Før serveren udfører en SELECT , den organiserer erklæringen i en plan , som er et sæt af trin optimeret til at indsamle data effektivt. De forventede resultater for begge metoder er de samme , så planen er typisk næsten den samme . Da DB2 viser en lille hastighedsforskel mellem de to metoder , er planerne sandsynligvis anderledes, men kun i mindre veje.
Best Practice
INNER JOIN syntaksen er en nyere, mere eksplicit tilgang til en SELECT-sætning . Hjemmesiden SQL Server ydeevne anbefaler brugen løbet af de ældre implicit metode, fordi det er blevet klarere. Den implicitte format gør WHERE udføre dobbelt told med sammenføjning tabeller og evaluering betingede tests. Den eksplicitte format holder de to opgaver adskilt INNER JOIN betyder sammenføjning og WHERE test data for bestemte værdier
nær .