Yhteenveto: tässä opetusohjelmassa opit, MySQL LEFT JOIN
lauseke ja miten soveltaa sitä-kyselyn tietoja kahden tai useamman taulukoita.
Introduction to MySQL LEFT JOIN
the LEFT JOIN
voit tiedustella tietoja kahdesta tai useammasta taulukosta. Samanlainen INNER JOIN
lauseke LEFT JOIN
on valinnainen lauseke SELECT
ilmoitus, joka tulee näkyviin heti, kun FROM
lauseke.,
Oletetaan, että haluat liittyä kaksi taulukkoa t1
ja t2
.
seuraava lausuma osoittaa, miten käyttää LEFT JOIN
lauseke liittyä kaksi taulukkoa:
Code language: SQL (Structured Query Language) (sql)
Kun käytät LEFT JOIN
lauseke, käsitteet vasemman ja oikean taulukon käyttöön.
edellä syntaksia t1
vasen pöytä ja t2
oikea taulukko.,
LEFT JOIN
lauseke valitsee tiedot vasemmalta alkaen taulukko (t1
). Se vastaa kukin rivi vasemmalta taulukko (t1
), jossa jokainen rivi oikealta taulukko(t2
), joka perustuu join_condition
.
Jos rivit taulukoihin, koska liitosehto arvo TRUE
, LEFT JOIN
yhdistä sarakkeet ja rivit sekä taulukoita uuden rivin, ja joka sisältää tämän uuden rivin tulos riviä.,
jos rivi vasemmalta taulukko (t1
) ei vastaa mitään rivi oikealta taulukko(t2
), LEFT JOIN
vielä yhdistää sarakkeet rivit taulukoihin tulee uusi rivi, ja sisältävät uuden rivin tulos riviä. Se kuitenkin käyttääNULL
kaikkia rivin sarakkeita oikeasta taulukosta.
Toisin sanoen, LEFT JOIN
palaa kaikki rivit vasemmalta taulukko riippumatta siitä, onko rivi vasemmalta taulukko on vastaava rivi oikealta taulukko tai ei., Jos vastaavuutta ei ole, rivin sarakkeet oikeasta taulukosta sisältävät NULL
.
seuraavan Venn-kaavio auttaa sinua nähdä, miten LEFT JOIN
lauseke toimii:
MySQL VASEMMALLE LIITTYÄ esimerkkejä
otetaanpa joitakin esimerkkejä käyttäen LEFT JOIN
lauseke.,
1) Käyttäen MySQL-LEFT JOIN lausekkeen liittyä kaksi taulukkoa
Katso seuraavat taulukot customers
ja orders
näytteen tietokantaan.
Jokainen asiakas voi olla nolla tai enemmän tilauksia, kun jokainen tilaus on kuuluvat yksi asiakas.,
Tämä kysely käyttää LEFT JOIN
lauseke löytää kaikki asiakkaiden ja heidän tilaukset:
Code language: SQL (Structured Query Language) (sql)
Vaihtoehtoisesti, voit säästää kirjoittamalla käyttämällä taulukon aliakset:
Code language: SQL (Structured Query Language) (sql)
tässä esimerkki:
customers
vasen pöytä jaorders
oikea taulukko.LEFT JOIN
lauseke palauttaa kaikki asiakkaat, mukaan lukien asiakkaat, joilla ei ole järjestyksessä., Jos asiakas ei ole kunnossa, arvot sarakkeessaorderNumber
jastatus
ovatNULL
.,
Koska molemmat taulukko asiakkaita ja tilauksia on saman sarakkeen nimi ( customerNumber
) liittyä tila, jossa tasa-operaattori, voit käyttää KÄYTTÄMÄLLÄ syntaksi on seuraava:
Code language: SQL (Structured Query Language) (sql)
seuraavat lausekkeet ovat vastaavat:
Code language: SQL (Structured Query Language) (sql)
Ja
Code language: SQL (Structured Query Language) (sql)
Jos sinulla korvata LEFT JOIN
lauseke, jonka INNER JOIN
lauseke, saat vain asiakkaille, joilla on vähintään yksi tilaus.,
2) Käyttäen MySQL VASEMMALLE LIITTYÄ lauseke löytää verraton rivit
LEFT JOIN
lauseke on erittäin hyödyllinen, kun haluat löytää rivit taulukosta, joka ei ole vastaavaa riviä toisesta taulukosta.,”>
löytää asiakkaita, joilla ei ole järjestyksessä:
Code language: SQL (Structured Query Language) (sql)
3) Käyttämällä MySQL VASEMMALLE LIITTYÄ liittyä kolme taulukkoa
Katso seuraavat kolme taulukkoa employees
, customers
ja payments
:
Tässä esimerkissä käytetään kahta LEFT JOIN
lausekkeita liittyä kolme taulukkoa: employees
, customers
, ja payments
.,
Code language: SQL (Structured Query Language) (sql)
Tämä kuva osoittaa, osittainen ulostulo:
Kuinka se toimii.
- ensimmäinen
LEFT JOIN
palauttaa kaikki työntekijät ja asiakkaat, jotka edustivat kukin työntekijä taiNULL
jos työntekijä ei ole vastuussa mistään asiakkaalle. - toinen
LEFT JOIN
palautus maksut jokainen asiakas edustaa työntekijä taiNULL
mikäli asiakas ei ole maksanut.
Tila, JOSSA lauseke vs., Katso seuraava esimerkki lausekkeesta
.
Code language: SQL (Structured Query Language) (sql)
Tässä esimerkissä käytetään LEFT JOIN
lauseke kyselyn tiedot taulukoista orders
ja orderDetails
. Kyselyssä palautetaan järjestysnumeron 10123
järjestysnumero ja sen riviesitykset.,
Kuitenkin, jos siirrät edellytys WHERE
lauseke ON
lauseke:
Code language: SQL (Structured Query Language) (sql)
Se on eri merkitys.,
tässä tapauksessa kysely palauttaa kaikki tilaukset, mutta vain jotta 10123
on line eriä, jotka liittyvät sen, kuten seuraavassa kuvassa:
Huomaa, että INNER JOIN
lauseke, ehto ON
lauseke vastaa ehto WHERE
lauseke.
tässä opetusohjelmassa, olet oppinut, miten käyttää MySQL LEFT JOIN
lauseke liittyä tietoja kahden tai useamman taulukoita.,
- Auttoiko tämä opetusohjelma?
- YesNo