Alt Sorgu (Subquery) Nedir?
Bir SQL sorgusu içine gömülmüş başka bir sorgudur. WHERE, FROM ve SELECT içinde kullanılabilir.
WHERE'de Subquery
-- Ortalama fiyatın üzerindeki ürünler
SELECT urun_adi, fiyat
FROM urunler
WHERE fiyat > (SELECT AVG(fiyat) FROM urunler);EXISTS ile Subquery
-- Sipariş vermiş müşteriler
SELECT adi, email
FROM musteriler m
WHERE EXISTS (
SELECT 1 FROM siparisler s WHERE s.musteri_id = m.id
);CTE (Common Table Expression)
WITH AylikCiro AS (
SELECT
YEAR(tarih) yil,
MONTH(tarih) ay,
SUM(tutar) ciro
FROM siparisler
GROUP BY YEAR(tarih), MONTH(tarih)
),
BuyumeOrani AS (
SELECT yil, ay, ciro,
LAG(ciro) OVER (ORDER BY yil, ay) AS onceki_ay,
ciro - LAG(ciro) OVER (ORDER BY yil, ay) AS degisim
FROM AylikCiro
)
SELECT * FROM BuyumeOrani ORDER BY yil, ay;