ö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_condition
alapjá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
customers
a bal oldali asztalnálorders
a megfelelő asztalt. - a
LEFT JOIN
záradék visszaadja az összes ügyfelet, beleértve azokat az ügyfeleket is, akiknek nincs megrendelése., Ha az ügyfélnek nincs megrendelése, aorderNumber
ésstatus
oszlopban 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 JOIN
visszaadja az összes alkalmazottat és ügyfelet, akik minden alkalmazottat képviseltek, vagyNULL
ha a munkavállaló nem felelős egyetlen ügyfélért sem. - a második
LEFT JOIN
visszaadja 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 orderDetails
táblázatok adatainak lekérdezésére. A lekérdezés a 10123
sorszá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