Sobes.tech
Junior

SQL'de alt sorgular nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

SQL'de alt sorgu (veya iç içe sorgu), başka bir SQL ifadesinin (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE) içine yerleştirilmiş SELECT sorgusudur. Alt sorgu önce çalıştırılır ve sonucu dış sorgu tarafından kullanılır.

  • Kullanım:

    • WHERE ifadesinde veri filtreleme için.
    • FROM ifadesinde sanal tablo (türemiş tablo) olarak.
    • SELECT ifadesinde toplu veya ilişkili verileri göstermek için (skalar alt sorgu).
    • IN, EXISTS, ANY, ALL operatörleriyle.
  • Avantajlar:

    • Karmaşık veri seçimleri yapmaya olanak tanır.
    • Karmaşık birleştirmelere göre sorguların okunabilirliğini artırır.
    • Veri kaynağı olarak kullanılabilir.
  • Türleri:

    • Skalar: Tek bir değer (bir satır ve bir sütun) döndürür.
    • Çok satırlı: Bir sütun ve birkaç satır döndürür. IN, ANY, ALL ile kullanılır.
    • Çok sütunlu: Birden fazla sütun döndürür. Nadiren kullanılır.
    • İlişkili: Dış sorguya bağlıdır ve her dış sorgu satırı için çalıştırılır.

WHERE içinde kullanım örneği:

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

FROM içinde kullanım örneği:

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;