COMPUTER ENGINEER

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

Sorgulama ve aggregation

SELECT, takma adlar ve DISTINCT

Bir sonuç kümesini bilinçli olarak tasarla.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

SELECT, sonuçta hangi sütun veya ifadelerin yer alacağını belirtir. AS ile verilen takma ad sonuç başlığıdır; tabloyu değiştirmez. Gereksiz SELECT * uygulama sözleşmesini şema değişikliklerine bağlar ve ihtiyaç dışı veriyi taşır.

DISTINCT, yalnız ilk sütunu değil, seçilen bütün sütunların kombinasyonunu tekilleştirir. DISTINCT City ile DISTINCT City, FullName farklı sonuçlar verir. Hatalı bir JOIN’in çoğalttığı satırları DISTINCT ile gizlemek, toplamların yanlışlığını düzeltmez. Sonuç sırası ORDER BY olmadan garanti edilmez.

NERESİNDE KULLANIRSIN?

API yanıtları ve rapor sütunlarını açıkça belirlemek için.

SIK YAPILAN HATA

DISTINCT’i yalnız ilk sütuna uygulandığını sanmak veya JOIN hatasını örtmek.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
SELECT FullName AS CustomerName, City FROM lab.Customer;

Sütun seçimi açıktır; CustomerName sonuç takma adıdı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.

Müşteri adlarını ve şehirleri tekil kombinasyonlar olarak listele.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
SELECT DISTINCT FullName, City FROM lab.Customer ORDER BY FullName;

Her müşterinin adı farklı olduğundan altı satır döner; şehir tekrarları hâlâ görülebilir.