Ünite 2 — Hesaplama, Özetleme, Gruplama
12 çoktan seçmeli soru — süre sınırı yok.
İfadeler ve Hesaplamalar
1. SELECT price * 1.20 AS kdvli_fiyat FROM products; sorgusu ne hesaplar?
NULL ile Çalışmak
2. SELECT * FROM customers WHERE phone = NULL; sorgusuyla ilgili doğru ifade hangisidir?
CASE WHEN
3. CASE WHEN stock_quantity = 0 THEN 'Tükendi' WHEN stock_quantity < 10 THEN 'Az Kaldı' ELSE 'Stokta' END ifadesi stock_quantity = 5 için ne döner?
Toplulaştırma Fonksiyonları
4. COUNT(*) ile COUNT(phone) arasındaki fark nedir (customers tablosunda phone bazı satırlarda NULL)?
GROUP BY
5. Her kategorideki ürün sayısını getiren doğru sorgu hangisidir?
HAVING
6. En az 5 siparişi olan müşterileri bulmak için hangi ifade doğrudur?
Sorgunun Çalışma Sırası
7. SELECT category, AVG(price) AS ortalama FROM products WHERE ortalama > 1000 GROUP BY category; sorgusundaki hata nedir?
İfadeler ve Hesaplamalar
8. SELECT full_name || ' - ' || city FROM customers; sorgusundaki || operatörü ne işe yarar?
NULL ile Çalışmak
9. COALESCE(phone, 'Belirtilmemiş') ifadesi ne yapar?
Toplulaştırma Fonksiyonları
10. Bir kategorideki en pahalı ürünün fiyatını bulmak için hangi fonksiyon kullanılır?
GROUP BY
11. GROUP BY category, city ifadesi ne yapar?
Sorgunun Çalışma Sırası
12. Bir SELECT sorgusunun mantıksal çalışma sırası aşağıdakilerden hangisidir?
1. SELECT price * 1.20 AS kdvli_fiyat FROM products; sorgusu ne hesaplar?
- AHer ürünün fiyatının %20 eksiğini
- BHer ürünün fiyatına %20 eklenmiş (KDV dahil) halini
- CSadece fiyatı 20 TL olan ürünleri
- Dprice sütununu kalıcı olarak 1.20 ile çarpıp günceller
2. SELECT * FROM customers WHERE phone = NULL; sorgusuyla ilgili doğru ifade hangisidir?
- Aphone'u NULL olan tüm müşterileri getirir
- BHiçbir satır getirmez — NULL karşılaştırması için IS NULL kullanılmalıdır
- CHata verir ve sorgu hiç çalışmaz
- Dphone'u boş metin ('') olan müşterileri getirir
3. CASE WHEN stock_quantity = 0 THEN 'Tükendi' WHEN stock_quantity < 10 THEN 'Az Kaldı' ELSE 'Stokta' END ifadesi stock_quantity = 5 için ne döner?
- A'Tükendi'
- B'Az Kaldı'
- C'Stokta'
- DNULL
4. COUNT(*) ile COUNT(phone) arasındaki fark nedir (customers tablosunda phone bazı satırlarda NULL)?
- AAralarında fark yoktur
- BCOUNT(*) tüm satırları sayar, COUNT(phone) sadece phone'u NULL OLMAYAN satırları sayar
- CCOUNT(phone), COUNT(*)'tan her zaman büyüktür
- DCOUNT(phone) bir söz dizimi hatasıdır
5. Her kategorideki ürün sayısını getiren doğru sorgu hangisidir?
- ASELECT category, COUNT(*) FROM products;
- BSELECT category, COUNT(*) FROM products GROUP BY category;
- CSELECT category, COUNT(*) FROM products ORDER BY category;
- DSELECT category, COUNT(*) FROM products WHERE category;
6. En az 5 siparişi olan müşterileri bulmak için hangi ifade doğrudur?
- AWHERE COUNT(*) >= 5
- BGROUP BY customer_id HAVING COUNT(*) >= 5
- CHAVING customer_id >= 5
- DWHERE customer_id HAVING COUNT(*) >= 5
7. SELECT category, AVG(price) AS ortalama FROM products WHERE ortalama > 1000 GROUP BY category; sorgusundaki hata nedir?
- AAVG fonksiyonu products tablosunda kullanılamaz
- BWHERE, SELECT'ten önce çalıştığı için ortalama alias'ına henüz erişemez — bunun yerine HAVING kullanılmalı
- CGROUP BY, WHERE'den önce yazılmalıdır
- Dcategory sütunu GROUP BY ile kullanılamaz
8. SELECT full_name || ' - ' || city FROM customers; sorgusundaki || operatörü ne işe yarar?
- ABölme işlemi yapar
- BMetin birleştirme (concatenation) yapar
- CMantıksal VEYA (OR) işlemi yapar
- DKarşılaştırma yapar
9. COALESCE(phone, 'Belirtilmemiş') ifadesi ne yapar?
- Aphone her zaman 'Belirtilmemiş' olarak değiştirilir
- Bphone NULL ise 'Belirtilmemiş' değerini, değilse phone'un kendisini döndürür
- Cphone ile 'Belirtilmemiş' metnini birleştirir
- Dphone sütununu tablodan siler
10. Bir kategorideki en pahalı ürünün fiyatını bulmak için hangi fonksiyon kullanılır?
- ASUM()
- BMAX()
- CCOUNT()
- DAVG()
11. GROUP BY category, city ifadesi ne yapar?
- ASadece category'e göre gruplar, city'i yok sayar
- Bcategory VE city'nin her benzersiz kombinasyonu için ayrı bir grup oluşturur
- CSöz dizimi hatasıdır, GROUP BY tek sütun alabilir
- DÖnce category'e göre sıralar, sonra city'e göre filtreler
12. Bir SELECT sorgusunun mantıksal çalışma sırası aşağıdakilerden hangisidir?
- ASELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY
- BFROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
- CFROM → SELECT → WHERE → GROUP BY → ORDER BY → HAVING
- DWHERE → FROM → SELECT → GROUP BY → HAVING → ORDER BY