Junior
Mi az a sublekérdezés az SQL-ben?
sobes.tech MI
Válasz az MI-től
Az SQL-ben az alkérdezés (vagy beágyazott lekérdezés) egy SELECT lekérdezés, amely egy másik SQL utasításba van ágyazva (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE). Az alkérdezés először fut le, és eredményét a külső lekérdezés használja.
-
Használat:
- A
WHEREzáradékban az adatok szűrésére. - A
FROMzáradékban mint virtuális tábla (származtatott tábla). - A
SELECTzáradékban aggregált vagy kapcsolódó adatok megjelenítésére (skalár alkérdezés). - Az
IN,EXISTS,ANY,ALLoperátorokkal.
- A
-
Előnyök:
- Lehetővé teszik összetett adatlekérdezések végrehajtását.
- Javítják a lekérdezések olvashatóságát összetett összekapcsolásokhez képest.
- Adatforrásként is használhatók.
-
Típusok:
- Skálár: Egy értéket ad vissza (egy sor és egy oszlop).
- Többsoros: Egy oszlopot és több sort ad vissza. Az
IN,ANY,ALL-al használható. - Többszintű: Több oszlopot ad vissza. Ritkán használják.
- Korrellált: A külső lekérdezéstől függ, és minden külső sorra végrehajtódik.
Példa WHERE-ben való használatra:
SELECT
order_id,
customer_id,
order_date
FROM
orders
WHERE
customer_id IN (
SELECT
customer_id
FROM
customers
WHERE
city = 'New York'
);
Példa FROM-ban való használatra:
SELECT
customer_name,
total_orders
FROM (
SELECT
c.customer_name,
COUNT(o.order_id) AS total_orders
FROM
customers c
JOIN
orders o ON c.customer_id = o.customer_id
GROUP BY
c.customer_name
) AS customer_order_counts
WHERE
total_orders > 10;