Microsoft'un veri sınavları (DP-300 yönetim ağırlıklıdır, ama sorgu soruları da içerir) ve SQL Server mülakatları T-SQL'e özgü yapıları sorar. Bu laboratuvardaki her şey SQL Server (T-SQL) yazımıyla çalışır.
Sınav bilgisiSoru sayısı, süre, geçme notu ve kayıt koşulları zaman zaman değişir. Kayıt olmadan önce sınav sağlayıcısının sayfasındaki güncel konu listesini ve bilgileri kontrol et. Buradaki denemeler resmi soruların kopyası değildir; aynı konu alanlarını ölçer.
1. TOP, WITH TIES ve sayfalama
SELECT TOP (3) WITH TIES name, price FROM products ORDER BY price DESC;
-- 3. sayfa, sayfa başına 5 ürün SELECT name, price FROM products ORDER BY name OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;
2. CROSS APPLY ve OUTER APPLY
APPLY, sol tablonun her satırı için sağdaki sorguyu çalıştırır. “Her müşterinin son 2 siparişi” gibi grup başına ilk N sorularının en doğal T-SQL çözümüdür. OUTER APPLY, sağ taraf boş dönse de sol satırı korur (LEFT JOIN gibi).
SELECT c.customer_id, s.order_id, s.order_date
FROM customers c
CROSS APPLY (SELECT TOP (2) o.order_id, o.order_date
FROM orders o
WHERE o.customer_id = c.customer_id
ORDER BY o.order_date DESC, o.order_id DESC) s
WHERE c.customer_id <= 3;
3. Koşul, tarih ve metin fonksiyonları
SELECT IIF(price > 1000, 'Pahalı', 'Uygun') AS grup, COUNT(*) AS urun FROM products GROUP BY IIF(price > 1000, 'Pahalı', 'Uygun');
SELECT EOMONTH('2024-02-10') AS ay_sonu,
DATEADD(month, 1, '2024-01-31') AS bir_ay_sonra,
DATEDIFF(day, '2024-01-01', '2024-03-01') AS gun,
DATEFROMPARTS(2024, 5, 1) AS tarih,
TRY_CAST('abc' AS INT) AS hatali_sayi;
| Yapı | Not |
|---|---|
DATEDIFF(year, '2024-12-31', '2025-01-01') | 1 döner: yıl sınırı sayılır, geçen süre değil |
'A' + NULL | NULL; CONCAT('A', NULL) ise 'A' |
7 / 2 | 3 (tam sayı bölmesi); 7 / 2.0 = 3.5 |
ISNULL(a, b) | İki değişken alır; sonuç tipi ilk değişkenin tipidir |
4. Ara toplamlar ve metin birleştirme
SELECT IIF(GROUPING(category) = 1, 'TOPLAM', category) AS kategori, SUM(stock) AS stok FROM products GROUP BY ROLLUP(category);
SELECT category, STRING_AGG(name, ', ') WITHIN GROUP (ORDER BY name) AS urunler FROM products GROUP BY category;
Sonraki adımSınavlar sayfasındaki T-SQL Kodlama Laboratuvarı süre altında T-SQL görevleri verir. Yönetim konuları (yedekleme, yüksek erişilebilirlik, izleme) için DP-300 çoktan seçmeli denemesini kullan.