Sobes.tech
Junior

Ի՞նչ են SQL-ում ենթաառաջարկները։

sobes.tech AI

Պատասխան AI-ից

SQL-ում ենթահարց (կամ ներսի հարցում) է SELECT հարցումը, որը տեղադրված է այլ SQL հրահանգի ներսում (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE)։ Ենթահարցը առաջինը կատարվում է, և դրա արդյունքը օգտագործվում է արտաքին հարցում։

  • Օգտագործում:

    • Դատան տվյալների ֆիլտրավորման համար WHERE արտահայտությունում։
    • FROM արտահայտությունում որպես վիրտուալ աղյուսակ (մշակված աղյուսակ)։
    • SELECT արտահայտությունում՝ ցուցադրելու համախմբված կամ կապված տվյալներ (սկալար ենթահարց)։
    • IN, EXISTS, ANY, ALL օպերատորների հետ։
  • Առավելություններ:

    • Հնարավորություն է տալիս կատարել բարդ տվյալների ընտրություններ։
    • Կատարում է հարցումների ընթերցելիությունը՝ համեմատած բարդ միացումների։
    • Կարող է օգտագործվել որպես տվյալների աղբյուր։
  • Տիպեր:

    • Սկալար: Վերադարձնում է մեկ արժեք (մեկ տող և մեկ սյունակ)։
    • Բազմատողային: Վերադարձնում է մեկ սյունակ և մի քանի տող։ Օգտագործվում է IN, ANY, ALL-ի հետ։
    • Բազմակոլոնային: Վերադարձնում է մի քանի սյունակ։ Զանազան օգտագործում է։
    • Կոռելացի: Զависит от внешнего запроса և կատարվում է յուրաքանչյուր արտաքին տողի համար։

Օրինակ WHERE-ում օգտագործման համար՝

SELECT
    order_id,
    customer_id,
    order_date
FROM
    orders
WHERE
    customer_id IN (
        SELECT
            customer_id
        FROM
            customers
        WHERE
            city = 'New York'
    );

Օրինակ FROM-ում օգտագործման համար՝

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;