MySQL Ytre Bli Tutorial

Ytre tiltrer kombinere to eller flere tabeller på en måte som noen kolonner kan ha nullverdier. MySQL skiller ytre kobles til høyre eller venstre tiltrer avhengig av hvilken tabell gir uovertruffen data. I en LEFT JOIN, blir uovertruffen poster fra tabellen på venstre side av BLI klausul returnert. I en RIGHT JOIN, blir uovertruffen poster fra tabellen på høyre side av BLI klausul returnert.

VENSTRE og HØYRE tiltrer

MySQL leser tabellene i den rekkefølgen bestemmes av BLI klausul. I venstre tiltrer, er den venstre tabellen leses før tabellen til høyre. I retten blir, er den høyre tabellen leses før venstre. All data blir returnert fra tabellen som blir lest først, og deretter data fra den andre tabellen er matchet. Eventuelle uovertruffen postene er tilbake med NULL verdier.
Eksemplene vil bruke følgende to tabeller:

adresse
fname lname staddress zip
Kris Masters 635 Anywhere Ave 17598
Steve Milano 503 St. Elsewhere 17989
James Teeney 379 Kensington Ct 98539
Pam Buffy 501 W 69th St 80907

post kode
by stat postnummer
Lancaster PA 17989
Wiconisco PA 17598
Orange CA 80907
New York NY 50648

Syntaksen for et VENSTRE BLI er:

SELECT fname, lname, staddress, by, stat, zip.zipcode Fra adresse VENSTRE BLI postnummer BRUKE (zip);

Dette søket vil returnere følgende resultater:

Kris | Masters | 635 Anywhere Ave | Wiconisco | PA | 17598 |
| Steve | Milano | 503 St. Elsewhere | Lancaster | PA | 17989 |
| Pam | Buffy | 501 W 69th St | Orange | CA | 80907
| James | Teeney | 379 Kensington Ct | NULL | NULL | NULL |

Som du kan se, er alle postene fra venstre tabellen (adresse) tilbake, med NULL verdier for de manglende poster fra tabellen til høyre (postnummer).

Syntaksen for en HØYRE BLI er:

SELECT fname, lname, staddress, by, stat, zip.zip Fra adresse HØYRE BLI postnummer BRUKE (zip)

Hvilken ville returnere alle verdier fra tabellen til høyre (postnummer) med NULL verdier for de manglende data fra den oppgitte adressen tabellen.
Kris | Masters | 635 Anywhere Ave | Wiconisco | PA | 17598 |
| Steve | Milano | 503 St. Elsewhere | Lancaster | PA | 17989 |
| Pam | Buffy | 501 W 69th St | Orange | CA | 80907
| NULL | NULL | NULL | New York | NY | 50648 |

Du kan gi ordet "YTRE" for ODBC (Open Database Connectivity) for tredjeparts applikasjoner, men dette er valgfritt fra MySQL ståsted. Syntaksen vil da være:

SELECT fname, lname, staddress, by, stat, zip.zipcode Fra adresse LEFT Ytre BLI postnummer BRUKE (zip);