Sql - 6. lecke

SQL Lessons lecke 6. kombinálása → asztalok (inner join)

A szintaxis egy egyszerű egyesület a következő:

SELECT imena_stolbtsov_tablitsy_1, imena_stolbtsov_tablitsy_2
AZ imya_tablitsy_1, imya_tablitsy_2;

Hozzunk létre egy egyszerű egyesület:

Kiderült, hogy nem elég, amit vártunk. Az ilyen egyesület tudományosan úgynevezett Descartes-szorzat, amikor mind az első sorban a táblázat van társítva, minden sorban a második táblázatban. Talán vannak olyan esetek, amikor egy ilyen kombináció hasznos, de ez nyilvánvalóan nem igaz.

A program végrehajtása nem lenne világosabb:

Ie mi nem kérni az alábbi feltétellel: ha mindkét asztal azonos ID, a vonal az azonosító kell osztani egyetlen eredményt húr.

Ügyeljen arra, hogy a két dolgot:
  • Ha az egyik az összekapcsolt táblák egy sor azonosítót, amely nem a többi táblában vannak erősítve, és a kapott táblázat sorait ezzel az azonosítóval nem. A példánkban ott Oleg (id = 5), a felhasználó, de nem hoz létre annak érdekében, így nem eredményeként a kérelmet.
  • Amikor megadja a feltételek az oszlop neve van írva, miután a tábla nevét, ahol ez az oszlop (a ponton át). Ez a félreértések elkerülése végett, mivel az oszlopok különböző táblázatok lehet ugyanaz a neve, és a MySQL nem érti bármely adott oszlopban kérdéses.
Általában kijavították a hibás állapotot csatlakozzon szintaxis így néz ki:

SELECT imya_tablitsy_1.imya_stolbtsa1_tablitsy_1, imya_tablitsy_1.imya_stolbtsa2_tablitsy_1, imya_tablitsy_2.imya_stolbtsa1_tablitsy_2, imya_tablitsy_2.imya_stolbtsa2_tablitsy_2
AZ imya_tablitsy_1, imya_tablitsy_2
AHOL imya_tablitsy_1.imya_stolbtsa_po_kotoromu_obedinyaem = imya_tablitsy_2.imya_stolbtsa_po_kotoromu_obedinyaem;

Ha az oszlop neve egyedi, akkor a tábla nevét lehet csökkenteni (ahogyan azt a példát), de ez nem ajánlott.

Mint tudja, a szövetségek lehetővé teszik, hogy kiválassza bármilyen információt bármely táblázatok és összekapcsolt táblák lehet három és négy, és a feltétel a szövetség lehet több, mint egy.

De ahelyett, hogy az azonosítók jelennek nevek, van, hogy az unió a három asztal:

Ezért, ha azt kell, hogy egy kicsit más kérés -, hogy minden felhasználó és témákat, amelyek az általuk létrehozott, ha vannak ilyenek -, hogy mi lesz használni külső csatlakozik. megjelenítésére képes összes sorban egy táblázatban áll rendelkezésre, és a hozzá tartozó sort a többi táblázatnál. Az ilyen szervezetek és megbeszéljük a következő leckét.

Kapcsolódó cikkek