Merhaba! Bu makalede SQL WHERE sorgusunun kullanımı üzerine konuşacağız. SQL, veritabanı yönetiminde yaygın olarak kullanılan bir dil olup, WHERE sorgusu verileri filtrelemek ve belirli koşullara göre sorgulama yapmak için kullanılır. Sizlere SQL WHERE sorgusunun nasıl kullanıldığını ve hangi durumlarda işe yaradığını anlatacağım.
SQL Nedir?
SQL (Structured Query Language), yapılandırılmış sorgu dilinin kısaltmasıdır. Veritabanı yönetim sistemleriyle etkileşime geçmek için kullanılan bir dildir. SQL, veritabanı oluşturma, veri ekleme, güncelleme, silme ve sorgulama gibi işlemleri gerçekleştirmemize olanak tanır.
SQL WHERE Sorgusu
SQL WHERE sorgusu, belirli bir koşulu sağlayan verileri sorgulamak veya filtrelemek için kullanılır. WHERE sorgusu, veritabanında belirli bir şartı sağlayan verileri seçmemizi sağlar. Bu sayede istediğimiz sonuçları elde edebilir ve veri setini istediğimiz şekilde filtreleyebiliriz.
WHERE sorgusu, tablodaki verileri belirli bir şarta göre filtrelemek için kullanılır. Örneğin, belirli bir fiyat aralığındaki ürünleri listelemek için WHERE sorgusunu kullanabiliriz. WHERE sorgusu, veritabanının daha spesifik ve istenen sonuçları elde etmek için kullanıcıya esneklik sağlar.
Basit örneklerle WHERE sorgusu
Hemen birkaç basit örnek ile WHERE sorgusunun nasıl kullanıldığına bakalım:
Örnek 1:
SELECT * FROM Products WHERE Price > 100;
Bu sorgu, “Products” tablosundan fiyatı 100’den büyük olan ürünleri seçecektir.
Örnek 2:
SELECT * FROM Customers WHERE Country = 'Turkey';
Bu sorgu, “Customers” tablosundan Türkiye’de yaşayan müşterileri seçecektir.
Örnek 3:
SELECT * FROM Orders WHERE OrderDate BETWEEN '2022-01-01' AND '2022-12-31';
Bu sorgu, “Orders” tablosundan belirli bir tarih aralığındaki siparişleri seçecektir.
Gördüğünüz gibi, WHERE sorgusu kullanarak veritabanında istediğimiz koşullara göre sorgulama yapabiliriz. Bu sayede verileri daha spesifik bir şekilde filtreleyebilir ve istenen sonuçları elde edebiliriz.
Operatörlerin kullanımı
WHERE sorgusunda kullanabileceğimiz farklı operatörler bulunmaktadır. Bazı yaygın kullanılan operatörler şunlardır:
- > (büyük/greater than): Soldaki değerin sağdaki değerden büyük olduğunu kontrol eder.
- < (küçük/less than): Soldaki değerin sağdaki değerden küçük olduğunu kontrol eder.
- = (eşit/equal to): Soldaki değerin sağdaki değere eşit olduğunu kontrol eder.
- >= (büyük eşit/greater than or equal to): Soldaki değerin sağdaki değerden büyük veya eşit olduğunu kontrol eder.
- <= (küçük eşit/less than or equal to): Soldaki değerin sağdaki değerden küçük veya eşit olduğunu kontrol eder.
- <> (farklı/not equal to): Soldaki değerin sağdaki değere eşit olmadığını kontrol eder.
Bu operatörleri kullanarak WHERE sorgusunda daha karmaşık koşullar oluşturabilir ve veritabanından istediğimiz sonuçları filtreleyebiliriz.
AND ve OR operatörleri
WHERE sorgusunda birden fazla koşulu kontrol etmek için AND ve OR operatörlerini kullanabiliriz.
- AND: İki veya daha fazla koşulun aynı anda sağlanmasını kontrol eder. Tüm koşulların doğru olması gerekmektedir.
- OR: İki veya daha fazla koşuldan en az birinin sağlanmasını kontrol eder. Koşullardan herhangi biri doğru ise sonuç alınır.
Örneğin:
SELECT * FROM Products WHERE Category = 'Electronics' AND Price > 500;
Bu sorgu, “Products” tablosundan kategorisi “Electronics” olan ve fiyatı 500’den büyük olan ürünleri seçecektir.
SELECT * FROM Customers WHERE City = 'Istanbul' OR City = 'Ankara';
Bu sorgu, “Customers” tablosundan İstanbul veya Ankara’da yaşayan müşterileri seçecektir.
AND ve OR operatörlerini kullanarak WHERE sorgusunda daha karmaşık koşullar oluşturabilir ve istediğimiz sonuçları elde edebiliriz.
LIKE operatörü
LIKE operatörü, metin tabanlı aramalar yapmak için kullanılır. Genellikle bir metin içinde belirli bir deseni veya karakter dizisini aramak için kullanılır. LIKE operatöründe kullanılan joker karakterler % ve _’dir.
- %: Herhangi bir karakter veya karakter dizisi yerine geçebilir.
- _: Herhangi bir tek karakter yerine geçebilir.
Örneğin:
SELECT * FROM Customers WHERE Name LIKE 'Ali%';
Bu sorgu, “Customers” tablosundan adı “Ali” ile başlayan müşterileri seçecektir.
SELECT * FROM Products WHERE Name LIKE '%book%';
Bu sorgu, “Products” tablosundan isminde “book” kelimesi geçen ürünleri seçecektir.
LIKE operatörünü kullanarak WHERE sorgusunda metin tabanlı aramalar yapabilir ve istediğimiz sonuçları elde edebiliriz.
WHERE Sorgusu ile Filtreleme
WHERE sorgusu, veritabanındaki verileri filtrelemek için çok kullanışlıdır. Filtreleme, veri kümesini belirli koşullara göre daraltmayı sağlar ve istediğimiz sonuçları elde etmemizi kolaylaştırır.
Sorgulama ve filtreleme kavramları
Sorgulama, veritabanındaki verileri çekmek veya raporlamak için yapılan işlemdir. Sorgulama yaparken WHERE sorgusunu kullanarak filtreleme yapabiliriz. Filtreleme, verileri belirli bir kritere göre seçme işlemidir.
Filtreleme işlemleriyle veritabanında istediğimiz sonuçları elde ederken aşağıdaki kavramları dikkate almalıyız:
- Tablo: Verilerin depolandığı yapıdır. WHERE sorgusu, belirli bir tablodaki verileri filtrelememizi sağlar.
- Sütun: Tablodaki verilerin kategorilerini temsil eder. Filtreleme işleminde belirli bir sütuna göre filtreleme yapabiliriz.
- Satır: Tablodaki verilerin tek bir kaydını temsil eder. WHERE sorgusu, belirli bir satırı veya satırları filtrelememizi sağlar.
- Koşul: WHERE sorgusunda belirtilen kritere göre filtrelemeyi sağlar. Koşullar, operatörler kullanılarak belirtilir.
Filtreleme işlemlerini yaparken bu kavramları anlamak ve doğru bir şekilde kullanmak önemlidir.
WHERE sorgusu ile veri filtreleme
WHERE sorgusu kullanarak veritabanında veri filtreleme yapabiliriz. Veri filtreleme, belirli koşullara göre verileri seçerek istediğimiz sonuçları elde etmemizi sağlar.
Örneğin:
SELECT * FROM Customers WHERE Age > 30;
Bu sorgu, “Customers” tablosundan yaşları 30’dan büyük olan müşterileri seçecektir.
SELECT * FROM Products WHERE Category = 'Electronics';
Bu sorgu, “Products” tablosundan kategorisi “Electronics” olan ürünleri seçecektir.
WHERE sorgusu, veritabanındaki verileri belirli bir koşula göre filtrelemek için kullanılır ve istediğimiz sonuçları elde etmemizi sağlar.
Birden fazla koşulun kullanımı
WHERE sorgusunda birden fazla koşul belirterek daha spesifik filtrelemeler yapabiliriz. Birden fazla koşul belirtmek için AND veya OR operatörlerini kullanabiliriz.
Örneğin:
SELECT * FROM Products WHERE Price > 100 AND Stock > 0;
Bu sorgu, “Products” tablosundan fiyatı 100’den büyük ve stokta olan ürünleri seçecektir.
SELECT * FROM Customers WHERE City = 'Istanbul' OR City = 'Ankara';
Bu sorgu, “Customers” tablosundan İstanbul veya Ankara’da yaşayan müşterileri seçecektir.
Birden fazla koşulu kullanarak WHERE sorgusunda daha spesifik filtrelemeler yapabilir ve istediğimiz sonuçları elde edebiliriz.
WHERE Sorgusunda Özel Durumlar
WHERE sorgusuyla birlikte bazı özel durumlar ve operatörler kullanabiliriz. Bu durumlar, veritabanında daha spesifik sorgular yapmamızı sağlar.
NULL değerlerin kontrolü
Bazı durumlarda veritabanında NULL değerlere sahip sütunlar bulunabilir. WHERE sorgusuyla NULL değerleri kontrol edebiliriz.
- IS NULL: Bir sütunun NULL değere sahip olup olmadığını kontrol eder.
- IS NOT NULL: Bir sütunun NULL değere sahip olup olmadığını kontrol eder.
Örneğin:
SELECT * FROM Customers WHERE Email IS NULL;
Bu sorgu, “Customers” tablosundan email adresi NULL olan müşterileri seçecektir.
SELECT * FROM Products WHERE Description IS NOT NULL;
Bu sorgu, “Products” tablosundan açıklama alanı NULL olmayan ürünleri seçecektir.
NULL değerlerini kontrol ederek WHERE sorgusunu daha etkili bir şekilde kullanabiliriz.
IN operatörü
IN operatörü, belirli bir değer kümesi içindeki değerleri kontrol etmek için kullanılır. WHERE sorgusunda IN operatörünü kullanarak birden fazla değeri filtreleyebiliriz.
Örneğin:
SELECT * FROM Customers WHERE Country IN ('Turkey', 'Germany', 'France');
Bu sorgu, “Customers” tablosundan Türkiye, Almanya veya Fransa’da yaşayan müşterileri seçecektir.
IN operatörü, birden fazla değeri tek bir sorguda kontrol etmemizi sağlar ve filtreleme işlemini kolaylaştırır.
BETWEEN operatörü
BETWEEN operatörü, belirli bir aralıktaki değerleri kontrol etmek için kullanılır. WHERE sorgusunda BETWEEN operatörünü kullanarak belirli bir aralıktaki verileri filtreleyebiliriz.
Örneğin:
SELECT * FROM Orders WHERE OrderDate BETWEEN '2022-01-01' AND '2022-12-31';
Bu sorgu, “Orders” tablosundan 2022 yılında yapılan siparişleri seçecektir.
BETWEEN operatörü, belirli bir aralıktaki verileri filtrelemek için kullanışlı bir yöntemdir.
Sonuç
SQL WHERE kullanımı, veritabanındaki verileri belirli koşullara göre filtrelemek için kullanılan önemli bir kavramdır. WHERE sorgusuyla birlikte operatörler kullanarak veritabanından istediğimiz sonuçları elde edebiliriz. Ayrıca, birden fazla koşulu kontrol etmek, NULL değerleri kontrol etmek, IN ve BETWEEN operatörlerini kullanmak gibi özel durumlar da WHERE sorgusuyla birlikte kullanılabilir. WHERE sorgusunu doğru bir şekilde kullanarak veritabanında daha spesifik sorgular yapabilir ve istediğimiz sonuçları elde edebiliriz.
Sık Sorulan Sorular
1. WHERE sorgusu nasıl kullanılır?
WHERE sorgusu, SQL sorgularında verileri belirli bir koşula göre filtrelemek için kullanılır. Sorgunun sonuna WHERE anahtar kelimesi eklenir, ardından koşullar belirtilir.
2. WHERE sorgusunda hangi operatörler kullanılabilir?
WHERE sorgusunda yaygın olarak kullanılan operatörler arasında > (büyük/greater than), < (küçük/less than), = (eşit/equal to), != (eşit değil/not equal to), LIKE (benzer/like), IN (içinde/in), BETWEEN (arasında/between), IS NULL (NULL değerine sahip), IS NOT NULL (NULL değerine sahip değil) bulunur.
3. Birden fazla koşulu nasıl kontrol edebilirim?
Birden fazla koşulu kontrol etmek için WHERE sorgusunda AND veya OR operatörlerini kullanabilirsiniz. AND operatörü, tüm koşulların doğru olmasını gerektirirken, OR operatörü en az bir koşulun doğru olmasını gerektirir.
4. NULL değerleri nasıl kontrol edebilirim?
NULL değerleri kontrol etmek için WHERE sorgusunda IS NULL veya IS NOT NULL operatörlerini kullanabilirsiniz. IS NULL, NULL değere sahip sütunları seçerken, IS NOT NULL NULL değere sahip olmayan sütunları seçer.
5. BETWEEN operatörü nasıl kullanılır?
BETWEEN operatörü, belirli bir aralıktaki değerleri kontrol etmek için kullanılır. WHERE sorgusunda BETWEEN operatörünü kullanarak bir başlangıç ve bir bitiş değeri belirleyebilirsiniz.