SQL segédlekérdezések

Megjegyzés: Szeretnénk, ha minél gyorsabban hozzáférhetne a saját nyelvén íródott súgótartalmakhoz. Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Kérjük, hogy a lap alján írja meg, hogy hasznos volt-e az Ön számára az itt található információ. Az eredeti angol nyelvű cikket itt találja.

Segédlekérdezés a SELECT utasítás ágyazva SELECT, SELECT... ALKALMAZÁSBA BESZÚRÁSA... INTO, a törlés vagy az UPDATE utasítás vagy egy másik segédlekérdezés belül.

Szintaxis

Az alábbi három űrlapokat hozhat létre a segédlekérdezés:

összehasonlítás [BÁRMELY |} AZ ÖSSZES |} Néhány] (SQL-utasítás)

kifejezés [NEM] A (SQL-utasítás)

[NEM] EXISTS (SQL-utasítás)

Segédlekérdezés a következő részekből áll:

Rész

Leírás

összehasonlítás

Egy kifejezés és a kívánt összehasonlító operátort, hogy miben más a kifejezés a művelethez a segédlekérdezésben eredményével.

kifejezés

Olyan kifejezés, amelynek kulcsszóval a segédlekérdezés eredményhalmazában szeretne keresni.

sqlutasítás

SELECT utasítás, mint bármely más SELECT utasítás ugyanazt a formátumot és szabályok követően. Ezt a zárójelek között kell tenni.


Megjegyzések

A SELECT utasítás a listában vagy a WHERE vagy a HAVING záradékban kifejezés helyett segédlekérdezés is használhatja. Segédlekérdezés, a SELECT utasítás egy sor olyan a WHERE vagy a HAVING záradék kifejezés kiértékelése egy vagy több konkrét értékek megadására használható.

Használja a bármely vagy néhány predikátumok, amely jelentésűek, rekordjával a fő lekérdezésben, amelyek megfelelnek az összehasonlítás olvassa be kulcsszóval a segédlekérdezés azokat a rekordokat. Az alábbi példa eredménye, amelynek Egységár értéke nagyobb, mint bármely 25 %-os vagy több árengedménnyel eladott termék az összes termék:

SELECT * FROM Products WHERE UnitPrice > ANY (SELECT UnitPrice FROM OrderDetails WHERE Discount >= .25);

Az összes predikátumok segítségével azokat a rekordokat a fő lekérdezésben, amelyek megfelelnek az összehasonlítás kulcsszóval a segédlekérdezés az összes rekordjával. Ha módosított bármilyen az összes az előző példában, a lekérdezés csak azokat a termékeket amelynek Egységár értéke nagyobb, mint az összes termék 25 %-os vagy több árengedménnyel eladott adja vissza. Ez a sokkal erősebb korlátozásokat alkalmaz.

A IN predikátumok segítségével azokat a rekordokat, amelynek kulcsszóval a segédlekérdezés néhány rekord azonos értéket tartalmaz, a fő lekérdezésben. Az alábbi példa eredménye 25 %-os vagy több árengedményt az összes termék:

SELECT * FROM Products WHERE ProductID IN (SELECT ProductID FROM OrderDetails WHERE Discount >= .25);

NOT IN segítségével viszont azokat a rekordokat, amelynek kulcsszóval a segédlekérdezés nincs rekord azonos értéket tartalmaz, a fő lekérdezésben.

A EXISTS predikátumok használja (a választható nem fenntartott szót) az IGAZ vagy hamis összehasonlításokat határozza meg, hogy a kulcsszóval a segédlekérdezés minden rekordot visszaad.

Kulcsszóval a segédlekérdezés kívül a FROM záradékban szereplő táblák olvassa el a segédlekérdezés táblaaliasokat nevét is használhatja. Az alábbi példa eredménye az alkalmazottak, akinek a fizetése egyenlő vagy nagyobb, mint ugyanazt a beosztás rendelkező összes alkalmazottak átlagos fizetésének nevét. Az alkalmazottak tábla "T1" alias számítható ki:

SELECT LastName, FirstName, Title, Salary FROM Employees AS T1 WHERE Salary >= (SELECT Avg(Salary) FROM Employees WHERE T1.Title = Employees.Title) Order by Title;

Az előző példában az AS foglalt szó nem kötelező.

Kereszttáblás lekérdezések bizonyos segédlekérdezések engedélyezése – kifejezetten, mint predikátumok (amelyek a WHERE záradékban). A kereszttáblás lekérdezések nem használhatók segédlekérdezések ezt az eredményt (amelyek a SELECT listában).



Office-jártasság bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×