Sobes.tech
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 WHERE záradékban az adatok szűrésére.
    • A FROM záradékban mint virtuális tábla (származtatott tábla).
    • A SELECT záradékban aggregált vagy kapcsolódó adatok megjelenítésére (skalár alkérdezés).
    • Az IN, EXISTS, ANY, ALL operátorokkal.
  • 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;