összefoglaló: ebben a bemutatóban, akkor megtudjuk, MySQL LEFT JOIN záradék, és hogyan kell alkalmazni, hogy a lekérdezés adatokat két vagy több tábla.
Bevezetés a MySQL bal JOIN
a LEFT JOIN lehetővé teszi az adatok lekérdezését két vagy több táblából. A INNER JOIN záradékhoz hasonlóan a LEFT JOIN a SELECT nyilatkozat opcionális záradéka, amely közvetlenül a FROM záradék után jelenik meg.,
tegyük fel, hogy két táblához szeretne csatlakozni t1 és t2.
a következő utasítás aLEFT JOIN záradék használatát mutatja be a két táblázathoz való csatlakozáshoz:
Code language: SQL (Structured Query Language) (sql)
aLEFT JOIN záradék használatakor a bal oldali táblázat és a jobb oldali táblázat fogalmai kerülnek bevezetésre.
a fenti szintaxisban t1 a bal oldali tábla és t2 A jobb oldali táblázat.,
aLEFT JOIN záradék a bal oldali táblázatból kiinduló adatokat választja ki (t1). A bal oldali táblázat minden sorával (t1) egyezik a jobb oldali táblázat minden sorával(t2) a join_conditionalapján.
Ha mindkét táblázat sorai miatt a csatlakozási feltétel értéke TRUE, a LEFT JOIN kombinálja a sorok oszlopait mindkét táblázatból egy új sorba, és tartalmazza ezt az új sort az eredménysorokba.,
ha a sorban a balról a táblázat (t1) nem egyezik meg minden sorban a megfelelő táblázatot(t2), a LEFT JOIN még egyesíti oszlopok sor a két táblázatban egy új sort, majd tartalmazza az új sort az eredmény sor. Azonban a NULL – ot használja a sor minden oszlopához a jobb oldali táblázatból.
más szóval, LEFT JOIN visszaadja az összes sort a bal asztal, függetlenül attól, hogy egy sor a bal asztal egy megfelelő sor a jobb asztal, vagy sem., Ha nincs egyezés, akkor a jobb oldali táblázat sorának oszlopai NULL – t tartalmaznak.
A következő Venn-diagram segít elképzelni, hogy a LEFT JOIN záradék működik:
MySQL BAL CSATLAKOZZ példák
nézzünk néhány példát használja a LEFT JOIN záradék.,
1) A MySQL bal oldali csatlakoztatási záradék használatával csatlakozhat két táblához
lásd a következő táblákat: customers és a mintaadatbázisban.
minden ügyfél nulla vagy több megrendelést kaphat, míg minden megrendelésnek egy ügyfélhez kell tartoznia.,
Ez a lekérdezés használja a LEFT JOIN kikötés, hogy megtalálja az ügyfelek, valamint a parancsot:
Code language: SQL (Structured Query Language) (sql)
Vagylagosan, tudod menteni egy kis gépelést segítségével táblázat álneve:
Code language: SQL (Structured Query Language) (sql)
ebben A példában:
- A
customersa bal oldali asztalnálordersa megfelelő asztalt. - a
LEFT JOINzáradék visszaadja az összes ügyfelet, beleértve azokat az ügyfeleket is, akiknek nincs megrendelése., Ha az ügyfélnek nincs megrendelése, aorderNumberésstatusoszlopban szereplő értékekNULL.,
Mert mindkét táblázat vevők, valamint a megrendelések ugyanaz az oszlop neve ( customerNumber) a csatlakozni feltétele az egyenlő operátor, akkor használja a szintaxis HASZNÁLATÁVAL a következőképpen:
Code language: SQL (Structured Query Language) (sql)
A következő kikötések egyenértékű:
Code language: SQL (Structured Query Language) (sql)
A
Code language: SQL (Structured Query Language) (sql)
Ha cserélje ki a LEFT JOIN záradék a INNER JOIN záradék, akkor az csak az ügyfelek, akik legalább egy parancsot.,
2) a MySQL BAL CSATLAKOZZ záradék találni páratlan sorok
A LEFT JOIN záradék nagyon hasznos, ha meg akarod találni a sorok egy táblázatban, hogy nem a megfelelő sorban a másik asztalnál.,”>
találni az ügyfelek, akik nem sorrendben:
Code language: SQL (Structured Query Language) (sql)
3) Használja a MySQL BAL CSATLAKOZZ, hogy csatlakozzon a három táblázatok
a következő három táblázatok employees, customers vagy payments:
Ebben a példában két LEFT JOIN záradékok, hogy csatlakozzon a három táblázatok: employees, customers, a payments.,
Code language: SQL (Structured Query Language) (sql)
Ez a kép a részleges kimenetet mutatja:
hogyan működik.
- az első
LEFT JOINvisszaadja az összes alkalmazottat és ügyfelet, akik minden alkalmazottat képviseltek, vagyNULLha a munkavállaló nem felelős egyetlen ügyfélért sem. - a második
LEFT JOINvisszaadja az egyes alkalmazottak által képviselt ügyfelek kifizetéseit, vagy ha az ügyfélnek nincs fizetése.
állapot ahol záradék vs., A
pontban lásd a következő példát.
Code language: SQL (Structured Query Language) (sql)
Ez a példa a LEFT JOIN pontot használta a orders és orderDetailstáblázatok adatainak lekérdezésére. A lekérdezés a 10123sorszám sorrendjét és sorelemeit adja vissza.,
azonban, ha áthelyezi a feltételt a ON div> záradék:
Code language: SQL (Structured Query Language) (sql)
más jelentése lesz.,
ebben az esetben a lekérdezés az összes parancsot, de csak a rend 10123 majd tétel társul, mint az alábbi képen:
Figyeljük meg, hogy a INNER JOIN záradék, az az állapot, hogy a ON záradék egyenértékű a feltétellel, hogy a WHERE záradék.
ebben az oktatóanyagban megtanulta, hogyan kell használni a MySQL LEFT JOIN záradékot, hogy két vagy több táblázatból csatlakozzon az adatokhoz.,
- hasznos volt ez a bemutató?
- YesNo