összefoglaló: ebben a bemutatóban megtudhatja, hogyan kell használni a PostgreSQL LEFT JOIN
záradékot az adatok több táblából történő kiválasztásához.
Bevezetés A PostgreSQL bal JOIN záradékba
tegyük fel, hogy két táblázata van: A
és B
.,
minden sor a táblázatban A
lehet nulla vagy sok megfelelő sor a táblázatban B
míg a táblázat minden sorában B
van egy és csak egy megfelelő sor a táblázatban A
.
az adatok kiválasztásához aA
táblázatban aB
táblázatban aLEFT JOIN
pontot kell használni.,
a következő állítás szemlélteti a LEFT JOIN
szintaxist, amely csatlakozik a táblázat A
a táblázat B
:
Code language: SQL (Structured Query Language) (sql)
“5b13d234ec”>
aB
táblázat bal oldali csatlakozással kövesse az alábbi lépéseket:
- először adja meg mindkét táblázat oszlopait, amelyekből adatokat szeretne kiválasztani a
SELECT
pontban. - második, adja meg a bal oldali táblázatot (táblázat
A
) aFROM
pontban., - harmadik, adja meg a megfelelő táblázatot (táblázat
B
) aLEFT JOIN
záradékban, valamint aON
kulcsszó után.
aLEFT JOIN
záradék elkezdi kiválasztani az adatokat a bal oldali táblázatból. A bal oldali táblázat minden sorához összehasonlítja a pka
oszlop értékét a jobb oldali táblázat fka
oszlopának értékével.,
ha ezek az értékek egyenlőek, a bal oldali csatlakozási záradék létrehoz egy új sort, amely oszlopokat tartalmaz, amelyek a SELECT
záradékban jelennek meg, és ezt a sort hozzáadja az eredménykészlethez.
ha ezek az értékek nem egyenlőek, a bal oldali csatlakozási záradék létrehoz egy új sort is, amely oszlopokat tartalmaz, amelyek a SELECT
záradékban jelennek meg. Ezenkívül kitölti a jobb oldali táblából származó oszlopokat NULL-val.,
a következő Venn diagram szemlélteti, hogy a LEFT JOIN
záradék hogyan működik:
vegye figyelembe, hogy a LEFT JOIN
is nevezik LEFT OUTER JOIN
.
PostgreSQL bal JOIN examples
nézzük meg a következő film
és inventory
táblázatok a minta adatbázisból.,
minden sor a film
táblázatban nulla vagy sok sor lehet a inventory
táblázat. Ainventory
táblázat minden sorában van egy és csak egy sor a film
táblázatban.
a film_id
oszlop létrehozza afilm
ésinventory
táblák közötti kapcsolatot.,
a következő nyilatkozat a LEFT JOIN
film
inventory
táblázat:
ha egy sor a film
táblázatban nincs megfelelő sor a inventory
táblázatban, a inventory_id
táblázat értéke a sor oszlopa NULL
.,
a következő utasítás hozzáad egyWHERE
záradékot a készletben nem szereplő filmek megtalálásához:
a következő utasítás ugyanazt az eredményt adja vissza., A különbség az, hogy használja a táblázat álneve, hogy a lekérdezés több tömör:
Ha a két kocka az azonos oszlopban a név, amivel a ON
záradékot, használja a USING
szintaxis, mint ez:
Ez a módszer akkor hasznos, ha azt szeretné, hogy válassza ki a sort az egyik asztalnál, amelyek nem rendelkeznek megfelelő sorok egy másik asztalhoz.