COMPUTER ENGINEER

Örneklere git
Blog
SQL Server / T-SQL6 dk çalışma
24/ 65

İlişkiler ve JOIN

Alt sorgular ve ilişkili sorgular

Bir sorunun sonucunu başka bir soruda kullan.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Alt sorgu SELECT içinde, FROM’da türetilmiş tablo olarak veya WHERE koşulunda kullanılabilir. Skaler alt sorgu en fazla bir değer döndürmelidir; birden çok satır hata verir. IN bir sonuç kümesiyle üyelik sınar. FROM’daki alt sorguya takma ad gerekir.

İlişkili alt sorgu dış sorgunun mevcut satırına referans verir. Mantıksal olarak satırla ilişkili olması fiziksel olarak mutlaka her satır için ayrı çalıştırılacağı anlamına gelmez; optimizer farklı planlar seçebilir. Okunabilirlik ve gerçek planı birlikte değerlendir.

NERESİNDE KULLANIRSIN?

Ortalamanın üzerindekileri bulma ve grup içi karşılaştırmalar için.

SIK YAPILAN HATA

Skaler alt sorgunun birden çok satır döndürebileceğini unutmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
SELECT ProductName, Price FROM lab.Product WHERE Price > (SELECT AVG(Price) FROM lab.Product);

Genel fiyat ortalamasıyla karşılaştırır.

Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.

02 / SIRA SENDE

Önce kendin dene.

En yüksek fiyatlı ürünleri alt sorguyla bul; eşit fiyatlılar varsa hepsini koru.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
SELECT ProductName, Price FROM lab.Product WHERE Price = (SELECT MAX(Price) FROM lab.Product);

Laptop döner; bu kalıp eşit maksimum fiyatları da korur.