ö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
SELECTpontban. - második, adja meg a bal oldali táblázatot (táblázat
A) aFROMpontban., - harmadik, adja meg a megfelelő táblázatot (táblázat
B) aLEFT JOINzáradékban, valamint aONkulcsszó 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 filmtáblázatban nulla vagy sok sor lehet a inventorytáblázat. Ainventory táblázat minden sorában van egy és csak egy sor a film táblázatban.
a film_idoszlop létrehozza afilmésinventory táblák közötti kapcsolatot.,
a következő nyilatkozat a LEFT JOIN film inventorytáblázat:
ha egy sor a film táblázatban nincs megfelelő sor a inventorytá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.