![Subquery In SQL | SQL Subquery Tutorial With Examples | SQL Tutorial For Beginners | Simplilearn](https://i.ytimg.com/vi/JksrTuEVEPk/hqdefault.jpg)
Tartalom
A lekérdezések egy másikba beágyazott lekérdezések. Lehetővé teszik, hogy elkülönítsük a mondat egy részét, és olvashatóbb alternatívát adjunk azoknak a műveleteknek, amelyek komplex csatlakozásokat és szakszervezeteket igényelhetnek. A MySQL-ben található Subqueries értékek, sorok, oszlopok vagy adattáblák adhatók vissza.
A szintaxis
Az al-kérelem alapvető szintaxisa a következő:
SELECT * FROM table1 WHERE oszlopA = (SELECT oszlopB FROM Table2) GO
A lekérdezéseknek a "SELECT", "INSERT", "UPDATE", "DELETE", "SET" vagy "DO" utasításokból kell állniuk, és nem módosíthatja a táblázatot és használhatja azt egyidejűleg az alprogramban. A lekérdezéseket általában a WHERE záradék jobb oldalán használják, amelyek az összehasonlítás és a logikai operátorok bármelyikét tartalmazhatják, például = (egyenlő), <> (különböző), <= (kisebb vagy egyenlő),> = vagy "BETWEEN" (két érték között), "NOT", "AND" és "OR". Használhatja a "DISTINCT", "GROUP BY", "ORDER BY" és "LIMIT" kulcsszavakat, és még a "JOIN" utasításokkal kombinálhatja. A részletes korlátozásokon kívül a MySQL-ben a subqueries írásakor kevés korlátozás van.
Egy mondaton belül még nincs korlátozás az alanyok számára. Az alikérdésekről további információkat talál a MySQL referencia kézikönyvben (lásd az "Erőforrások" részt).
példa
Tegyük fel, hogy két asztalod van: az egyik a levelezőlista tagjainak első és utónevével, címével és irányítószámával, a másik pedig a városokkal, államokkal és irányítószámokkal. Ahhoz, hogy megtaláljuk a Brasíliában élő tagok nevét, több "szelekciós" mondatot lehet használni. Az első a braziliai CEP-eket fogja keresni:
KIVÁLASZTÁS KÓDOKBÓL KI állapot = "BRASILIA" GO
Ezután használjon egy "kiválasztott" -t minden egyes azonosított irányítószámhoz:
KIVÁLASZTÁS nevét, vezetéknevet FROM címek WHERE cep = [codecep] GO
Ez a módszer időigényes és könnyen hibázható. Könnyű elveszíteni egy irányítószámot, különösen, ha túl sok van. A feladat végrehajtásának egyszerűbb módja, hogy az első mondatot másodlagos kérésként használjuk a második:
KIVÁLASZTÁS neve, vezetéknév a címekből WHERE cep = (SELECT cep FROM kódok WHERE állapot = "BRASILIA") GO
Ez a lekérdezés megmutatja a levelezőlista összes tagját, aki Brasíliában él.