Sobes.tech
Junior

SQL-də alt sorğular nədir?

sobes.tech Süni İntellekt

AI-dan cavab

SQL-də alt sorğu (və ya iç-içə sorğu), başqa bir SQL əməliyyatının (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE) içində yerləşdirilmiş SELECT sorğusudur. Alt sorğu əvvəlcə icra olunur və onun nəticəsi xarici sorğu tərəfindən istifadə olunur.

  • İstifadə:

    • WHERE ifadəsində məlumatların filtrlənməsi üçün.
    • FROM ifadəsində virtual cədvəl (törəmə cədvəl) kimi.
    • SELECT ifadəsində toplu və ya əlaqəli məlumatların göstərilməsi üçün (skalar alt sorğu).
    • IN, EXISTS, ANY, ALL operatorları ilə.
  • Üstünlüklər:

    • Çətin məlumat seçmələrinə imkan verir.
    • Çətin birləşmələrə nisbətən sorğuların oxunuşunu yaxşılaşdırır.
    • Məlumat mənbəyi kimi istifadə oluna bilər.
  • Növləri:

    • Skalar: Bir dəyər (bir sətir və bir sütun) qaytarır.
    • Çox sətirli: Bir sütun və çox sətir qaytarır. IN, ANY, ALL ilə istifadə olunur.
    • Çox sütunlu: Bir neçə sütun qaytarır. Nadir hallarda istifadə olunur.
    • Əlaqəli: Xarici sorğudan asılıdır və hər xarici sətir üçün icra olunur.

WHERE-də istifadə nümunəsi:

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

FROM-da istifadə nümunəsi:

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;