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
WHEREklauzi za filtriranje podataka. - U
FROMklauzi kao virtuelna tabela (izvedena tabela). - U
SELECTklauzi za prikaz agregiranih ili povezanih podataka (skalarni podupit). - Sa operatorima
IN,EXISTS,ANY,ALL.
- U
-
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;