Mik a PostgreSQL csatlakozások?
A PostgreSQL JOIN fájlokat egynél több táblázat adatainak lekérésére használják. A JOIN-okkal lehetséges, hogy a SELECT és a JOIN utasításokat egyetlen utasításba egyesítsük. Egy JOIN feltétel hozzáadódik az utasításhoz, és minden, a feltételeknek megfelelő sor visszatér.
A különböző táblák értékeit közös oszlopok alapján kombinálják. A közös oszlop többnyire elsődleges kulcs az első táblázatban és idegen kulcs a második táblázatban.
Ebben a PostgreSQL oktatóanyagban megtudhatja:
- Mik a PostgreSQL csatlakozások?
- A csatlakozások típusai
- Belső csatlakozások
- Theta Csatlakozz
- EQUI Csatlakozzon
- Természetes csatlakozás
- Külső csatlakozások
- BAL KÜLSŐ CSATLAKOZÁS
- JOBB KÜLSŐ CSATLAKOZÁS
- Teljes külső csatlakozás
- A pgAdmin használatával
- Belső csatlakozások
- Theta Csatlakozz
- EQUI Csatlakozzon
- Természetes csatlakozás
- BELSŐ CSATLAKOZÁS (egyszerű csatlakozás)
- Külső csatlakozások
- BAL KÜLSŐ CSATLAKOZÁS
- JOBB KÜLSŐ CSATLAKOZÁS
- Teljes külső csatlakozás
A csatlakozások típusai
Kétféle JOIN van a PostgreSQL-ben:
- Belső csatlakozások
- Külső csatlakozás
Belső csatlakozások
A belső csatlakozásoknak 3 típusa van:
- Theta csatlakozzon
- Természetes csatlakozás
- Az EQUI csatlakozik
Theta Csatlakozz
A theta-összekapcsolás lehetővé teszi, hogy két asztal összekapcsolódjon a theta által képviselt feltétel alapján. A Theta csatlakozás minden összehasonlító operátorral működhet. A legtöbb esetben a theta-összekapcsolást belső összekapcsolásnak nevezik.
A theta csatlakozás a JOIN legalapvetőbb típusa. Minden olyan sort visszaad a táblákból, ahol a JOIN feltétel teljesül.
Szintaxis:
SELECT columnsFROM table-1INNER JOIN table-2ON table-1.column = table-2.column;
Vegye figyelembe a Demo adatbázis alábbi táblázatait:
Könyv:
Ár:
Szeretnénk látni minden könyv nevét és a hozzá tartozó Árat. A következő parancsot futtathatjuk:
SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;
Ez a következőket adja vissza:
Csak 3 sor teljesítette a csatlakozási feltételt.
EQUI Csatlakozzon
Az EQUI csatlakozás lehetővé teszi számunkra, hogy összekapcsoljuk az elsődleges kulcs / idegen kulcs kapcsolatán alapuló két táblázatot. Például:
SELECT *FROM BookJOIN Price ON Book.id = Price.id;
Ez a következőket adja vissza:
A rekordok mindkét táblából a közös oszlopok, vagyis az id oszlop alapján kerültek vissza.
Természetes csatlakozás
Ez a típusú csatlakozás az EQUI csatlakozás írásának másik módját nyújtja számunkra. Javíthatjuk korábbi példánkat a NATURAL kulcsszó hozzáadásával az alábbiak szerint:
SELECT *FROM BookNATURAL JOIN Price;
Ez a következőket adja vissza:
Csak egy azonosító oszlopot adott vissza. A NATURAL JOIN tudta megjegyezni, hogy az id oszlop közös a két táblázatban. Csak egyet adtak vissza.
Külső csatlakozások
Háromféle külső JOIN van a PostgreSQL-ben:
- Bal külső csatlakozás.
- Jobb külső csatlakozás.
- Teljes külső csatlakozás
BAL KÜLSŐ CSATLAKOZÁS
A LEFT OUTER JOIN a táblázat összes sorát a bal oldalon adja vissza, és csak azokat a sorokat a jobb oldali táblázatban, ahol a csatlakozási feltétel teljesül.
Szintaxis:
SELECT columnsFROM table-1LEFT OUTER JOIN table-2ON table-1.column = table-2.column;
Látnunk kell minden könyv nevét és a hozzá tartozó Árat. A következő parancsot futtathatjuk:
SELECT Book.name, Price.priceFROM BookLEFT JOIN PriceON Book.id = Price.id;
Ez a következőket adja vissza:
A Könyv táblázat mind a 4 sora vissza lett adva. Az Ár táblázatból csak 3 sor teljesítette a csatlakozási feltételt. Ezért visszatértek. Az utolsó könyvnek nincs megfelelő árértéke.
JOBB KÜLSŐ CSATLAKOZÁS
A JOBB KÜLSŐ CSATLAKOZÁS a táblázat összes sorát a jobb oldalon adja vissza, a táblázat pedig a bal oldali sorokat, ahol a csatlakozási feltétel teljesül.
Szintaxis:
SELECT columnsFROM table-1RIGHT OUTER JOIN table-2ON table-1.column = table-2.column;
Például:
SELECT Book.name, Price.priceFROM BookRIGHT JOIN PriceON Book.id = Price.id;
Ez a következőket adja vissza:
Az Ár táblázat minden sora vissza lett adva. Csak a Könyv táblázat azon sorait adta vissza, amelyek megfeleltek a csatlakozási feltételnek. A 3 rd sorban nincs érték nevét, mivel nem volt illeszkedés.
Teljes külső csatlakozás
Ez a típusú JOIN a táblázat bal és a jobb oldalon lévő összes sorát nullákkal adja vissza, ahol a csatlakozási feltétel nem teljesül.
Szintaxis:
SELECT columnsFROM table-1FULL OUTER JOIN table-2ON table-1.column = table-2.column;
Például:
SELECT Book.name, Price.priceFROM BookFULL OUTER JOIN PriceON Book.id = Price.id;
Ez a következőket adja vissza:
Az összes tábla összes sorát visszaküldtük, olyan nullákkal, ahol nem találtak egyezést.
A pgAdmin használatával
A fenti feladatok a pgAdmin programban az alábbiak szerint hajthatók végre:
Belső csatlakozások
Theta Csatlakozz
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;
4. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
EQUI Csatlakozzon
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
SELECT *FROM BookJOIN Price ON Book.id = Price.id;
4. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
Természetes csatlakozás
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
SELECT *FROM BookNATURAL JOIN Price;
4. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
BELSŐ CSATLAKOZÁS (egyszerű csatlakozás)
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
SELECT Book.name, Price.priceFROM BookINNER JOIN PriceON Book.id = Price.id;
4. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
Külső csatlakozások
BAL KÜLSŐ CSATLAKOZÁS
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
SELECT Book.name, Price.priceFROM BookLEFT JOIN PriceON Book.id = Price.id;
4. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
JOBB KÜLSŐ CSATLAKOZÁS
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
SELECT Book.name, Price.priceFROM BookRIGHT JOIN PriceON Book.id = Price.id;
4. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
Teljes külső csatlakozás
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
- Kattintson a Demo elemre.
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe:
SELECT Book.name, Price.priceFROM BookFULL OUTER JOIN PriceON Book.id = Price.id;
4. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
Összegzés:
- A PostgreSQL-ben a JOIN-okat használjuk, ha több táblából kell lekérnünk az értékeket.
- A BELSŐ CSATLAKOZÁS a legalapvetőbb JOIN típus. Minden olyan rekordot visszaad, ahol a megadott JOIN feltétel teljesül.
- A LEFT OUTER JOIN visszaadja az összes sort a bal oldali táblázatban, és csak azokat a sorokat a másik táblában, ahol a csatlakozási feltétel teljesül.
- A RIGHT OUTER JOIN az összes sort a jobb oldali táblázatban adja vissza, és csak azokat a sorokat a másik táblában, ahol a csatlakozási feltétel teljesül.
- Ez a típusú JOIN a bal oldali táblázat összes sorát és a jobb oldali táblázat összes sorát nullákkal adja vissza, ahol a csatlakozási feltétel nem teljesül.
Töltse le az oktatóanyagban használt adatbázist