MySQL MariaDB

MySQL külső csatlakozás

MySQL külső csatlakozás

A MySQL sok parancsot tartalmaz, amelyekre szükség van egy adatbázis kezelése közben. Például gyakran meg kell szereznünk néhány adatot különböző táblázatokból, valamilyen feltétel alapján. A MySQL ezután különböző típusú csatlakozásokat biztosít a kívánt eredmények elérése érdekében. Tanuljuk meg a MySQL baloldali és jobb oldali csatlakozását.

Az SQL-ben nincs olyan utasítás, hogy FULL OUTER JOIN, de használhatunk egy egyszerű JOIN-t ugyanazon eredmények eléréséhez, vagy egyszerűen egy SELECT utasítás használatával két különböző táblázat felett.

Egyébként a MySQL biztosítja BAL CSATLAKOZÁS és JOBB CSATLAKOZÁS hogy a rekordokat vagy sorokat a jobb vagy a bal oldali táblázatból kapjuk meg. Próbálkozzunk néhány különböző példával, hogy megfelelő illesztésekkel érjük el a kívánt eredményt.

Példák

Mielőtt elkezdenénk megtanulni a BAL és JOBB CSATLAKOZÁS használatát. Megtanuljuk, hogyan lehet az összes adatot megszerezni mindkét táblából (akár általános, akár nem mindennapi) az egyszerű SELECT utasítással és a CROSS JOIN használatával a SELECT utasítással. Először próbáljuk meg megszerezni az összes adatot mindkét táblából a SELECT utasítással.

Például van 2 táblázat, amelyeket a szerző és a könyvek nevével kaptunk.

DESC könyvek;

DESC szerzők;

Ha mindkét oszlopból meg akarjuk szerezni az összes oszlopot. A SELECT lekérdezést a következőképpen fogják használni:

SELECT * FROM könyvek, szerzők;

Mint láthatja, mindkét oszlopból minden oszlop megvan, még feltétel megadása nélkül is.

Ha a JOIN vagy a CROSS JOIN záradékot használjuk, mindkettő ugyanazokat az eredményeket hozza el. Például:

SELECT * FROM books JOIN szerzők;

Most próbáljuk meg a CROSS JOIN alkalmazást:

SELECT * FROM books CROSS JOIN szerzők;

Amint tanúja lehet, mindezek a lekérdezések ugyanazokat az eredményeket hozzák számunkra.

Azonban nem jó, ha az összes oszlop ilyen absztrakt formában van. Tehát, hogy a bal vagy a jobb oldali táblázatból néhány konkrét oszlopot kapjon, kétféleképpen folytathatja a műveletet; az egyik módja az, hogy oszlopneveket használjon SELECT utasításokkal vagy az igényeinek megfelelő összekapcsolásokkal.

Rendben, most lépjünk előre, hogy megértsük a BAL CSATLAKOZÁS és a JOBB CSATLAKOZÁST.

BAL CSATLAKOZÁS

Tegyük fel, hogy szeretnénk kapni néhány konkrét oszlopot, amelyek vagy a könyvek táblából származnak, vagy amelyek közösek a könyvek és a szerzők táblázat között, bizonyos feltételek alapján a feltételt valójában két különböző táblázat összehasonlításával biztosítják. Például két táblához, könyvhöz és szerzőhöz szeretnénk csatlakozni, ahol a könyv azonosítója megegyezik a szerző azonosítójával. Ilyen eredményre számíthatunk a LEFT Join with SELECT utasítás használatával; Válasszon lekérdezést az oszlopnevekkel, amelyeket meg szeretne szerezni a könyvek táblából vagy a szerzőktől. A SELECT lekérdezés a BAL JOIN és feltétellel a következő lenne:

SELECT könyvek.könyvnév, könyvek.book_id, szerzők.szerző_azonosító,
szerzői.szerző_név, szerzők.szerző_név
Könyvektől
LEFT JOIN szerzők
ON könyvek.book_id = szerzők.szerző_azonosító;

Mivel megemlítettük a könyvtáblát a bal oldalon, a csatlakozás megkapja az egyik sor azonosítóját a könyvtáblából, és ugyanazt az azonosítószámot keresi a szerző táblázatában. Ha ugyanazt az azonosító számot találja meg, akkor a szerző táblázatának adott oszlopai is megjelennek. Ellenkező esetben a NULL felirat jelenik meg a szerző táblázatának oszlopaiban. Végezzük el ezt a lekérdezést, és tegyük tanúi az eredményeket.

Amint láthatja, mindkét táblázatból megvan a sor, ahol a könyvek táblázat azonosítója megegyezik a szerző táblázat azonosítójával. Az utolsó sorban azt is láthatjuk, hogy a szerző táblázatában nincs 4 azonosítószám, ezért NULL-t adott vissza ellene.

JOBB CSATLAKOZÁS

Hasonlóképpen, ha valamilyen adatot szeretnénk megszerezni, akár a szerző táblázatából, akár a könyvek és a szerző táblája között, bizonyos feltételek alapján, akkor a RIGHT join és SELECT záradék használatával ilyen eredményekre lehet számítani. A SELECT lekérdezés a RIGHT JOIN és feltétel mellett a következő lenne:

SELECT könyvek.könyvnév, könyvek.book_id, szerzők.szerző_azonosító,
szerzői.szerző_név, szerzők.szerző_név
Könyvektől
RIGHT JOIN szerzők
ON könyvek.book_id = szerzők.szerző_azonosító;

Ezúttal tudjuk, hogy a szerzők táblázata a jobb oldalon van, így a csatlakozás megkapja a szerző táblázatának egy sorának azonosítóját, és ugyanazt az azonosító számot keresi a könyv táblázatában. Ha ugyanazt az azonosító számot találja, akkor a könyv táblázat megadott oszlopait jeleníti meg. A lekérdezés végrehajtása a következőket eredményezi:

Mint láthatja, mindkét táblázatból megvan a sor, ahol a szerző azonosítója megegyezik a könyv azonosítójával. Tudjuk, hogy a könyvtáblázatban volt egy negyedik könyv, bár nem kaptuk meg, ennek oka a JOBB CSATLAKOZÁS.

Tehát valóban így működik a BAL CSATLAKOZÁS és a JOBB CSATLAKOZÁS.

Következtetés

Megtanultuk és megértettük a CROSS, BAL és JOBB CSATLAKOZÁST, valamint megtanultuk használni őket a kívánt eredmények elérése érdekében a MySQL-ben. Kipróbáltunk néhány különféle példát is a JOINS-ra, hogy jobban és mélyebben megértsük a fogalmakat. Tehát látogasson tovább honlapunkra linuxhint.com az ilyen hasznos tartalmakért.

Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...
Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...