COMPUTER ENGINEER

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

Sorgulama ve aggregation

WHERE, AND/OR ve mantıksal sıra

Satır filtresi ile sonuç ifadesini ayır.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

WHERE, gruplamadan önce ham satırları filtreler. AND iki koşulun birlikte, OR en az birinin doğru olmasını ister. AND, OR’dan önce değerlendirilir; okunabilirlik için iş kuralını parantezle açıkça yaz. NULL karşılaştırması UNKNOWN üretebilir ve bu satır WHERE’den geçmez.

Basitleştirilmiş mantıksal sıra FROM/JOIN, WHERE, GROUP BY, HAVING, SELECT, DISTINCT, ORDER BY ve TOP/OFFSET şeklindedir. SELECT takma adını WHERE’de kullanamazsın; ORDER BY ise görebilir. Bu, optimizer’ın fiziksel operatörleri zorunlu olarak aynı sırayla çalıştırdığı anlamına gelmez.

NERESİNDE KULLANIRSIN?

İş kurallarını açık, test edilebilir koşullara çevirmek için.

SIK YAPILAN HATA

Parantezsiz AND/OR yazmak; SELECT takma adını aynı sorgunun WHERE bölümünde kullanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
SELECT ProductName, Price FROM lab.Product WHERE Price >= 1000;

Fiyatı 1000 ve üzerindeki dört ürünü seçer.

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.

Stokta olan ve fiyatı 1000’den küçük ürünleri bul.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
SELECT ProductName FROM lab.Product WHERE Stock > 0 AND Price < 1000;

Mouse ve Notebook bulunur. Cable ucuz olsa da stok sıfırdır.