Sobes.tech
Junior

Šta su podupiti u SQL-u?

sobes.tech АИ

Одговор од АИ

Podupit (ili ugnježđeni upit) u SQL-u je upit SELECT koji je umetnut unutar druge SQL naredbe (SELECT, INSERT, UPDATE, DELETE, CREATE TABLE). Podupit se izvršava prvi, a njegov rezultat koristi se od strane spoljnog upita.

  • Korišćenje:

    • U WHERE klauzi za filtriranje podataka.
    • U FROM klauzi kao virtuelna tabela (izvedena tabela).
    • U SELECT klauzi za prikaz agregiranih ili povezanih podataka (skalarni podupit).
    • Sa operatorima IN, EXISTS, ANY, ALL.
  • Prednosti:

    • Omogućava izvođenje složenih upita podataka.
    • Poboljšava čitljivost upita u poređenju sa složenim spojnicama.
    • Može se koristiti kao izvor podataka.
  • Tipovi:

    • Skalarni: Vraća jednu vrednost (jedan red i jedna kolona).
    • Višeredni: Vraća jednu kolonu i više redova. Koristi se sa IN, ANY, ALL.
    • Višekolonski: Vraća više kolona. Retko se koristi.
    • Korelacioni: Zavisni od spoljnog upita i izvršava se za svaki red spoljnog upita.

Primer korišćenja u WHERE:

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

Primer korišćenja u 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;