SQL Server, veritabanı işlemlerinde kullanılan ve ilişkisel veritabanı yönetim sistemidir. Bu makalede, SQL Server’da kullanılan sorgulara odaklanacağız ve nasıl çalıştıklarını ayrıntılı bir şekilde açıklayacağız.
SQL Server üzerinde en temel sorgu türü, veri çekmek için kullanılan SELECT sorgusudur. SELECT sorgusu, veritabanından belirli verileri seçmek için kullanılır ve sonuçları döndürür. Veritabanındaki tablolara sorgular oluşturarak, istenen verilere erişim sağlanabilir.
UPDATE sorguları, varolan verileri güncellemek için kullanılır. Bu sorgular sayesinde, veritabanındaki kayıtları değiştirebilir veya güncelleyebilirsiniz. WHERE koşulları kullanılarak, belirli bir şartı sağlayan kayıtlar güncellenir ve istenilen değişiklikler yapılır.
WHERE koşullarının yanı sıra, sorgularınızı daha spesifik hale getirmek için AND ve OR operatörlerini kullanabilirsiniz. Bu operatörler, birden fazla koşulu birleştirmenize ve karmaşık sorgular oluşturmanıza olanak sağlar.
NULL değerlerinin kontrolü de önemlidir. WHERE koşullarında NULL değerlerini kontrol etmek için IS NULL veya IS NOT NULL ifadelerini kullanabilirsiniz. Bu, belirli bir alanın boş olup olmadığını kontrol etmenize olanak sağlar.
JOIN işlemleri, ilişkili tablolar arasında veri birleştirmek için kullanılır. Bu işlemler sayesinde, tablolar arasındaki ilişkiler kullanılarak daha kompleks sorgular oluşturulabilir. INNER JOIN, LEFT JOIN ve RIGHT JOIN gibi farklı JOIN türleri bulunur ve bu işlemlerle veriler arasındaki ilişkileri anlamak ve sorgulamak mümkündür.
DELETE sorguları ise veritabanından veri silmek için kullanılır. DELETE sorgusuyla belirli bir şartı sağlayan kayıtlar silinebilir ve veritabanı güncellenebilir. WHERE koşulları kullanarak silinecek verileri belirleyebilirsiniz. Truncate ve Drop komutları ise DELETE sorgusundan farklı olarak, tabloları tamamen temizlemek veya silmek için kullanılır.
SQL Server sorgularının çalışma prensiplerini anlamak ve doğru bir şekilde kullanmak, veritabanı yönetiminde önemlidir. Bu makale, SQL Server sorgularını anlamanıza ve doğru bir şekilde kullanmanıza yardımcı olacak temel bilgileri sunmaktadır.
SELECT Sorguları
Veritabanından veri çekmek için kullanılan SELECT sorgusu, SQL Server’da en temel ve yaygın olarak kullanılan sorgu türüdür. SELECT sorgusu, veritabanında bulunan tablolardan belirli bir veri kümesini seçmek için kullanılır.
SELECT sorgusunda, FROM komutu ile hangi tabloya bağlanılacağı belirtilir. Ardından, SELECT anahtar kelimesi ile hangi sütun veya sütunları seçeceğimiz belirtilir. Sütunları seçerken * karakterini kullanarak tüm sütunları seçebiliriz veya sadece belirli sütunları belirtebiliriz.
Örneğin, SELECT * FROM Customers sorgusu, Customers tablosundaki tüm verileri seçmek için kullanılır. Eğer sadece müşteri isimlerini seçmek istiyorsak SELECT CustomerName FROM Customers sorgusunu kullanabiliriz.
Bunun yanı sıra, SELECT sorgusuyla ORDER BY ve WHERE gibi ek komutlar da kullanılabilir. ORDER BY komutuyla sıralama yapabilirken, WHERE komutuyla belirli bir koşula uyan verileri seçebiliriz.
SELECT sorgusu, veritabanından veri çekmek için temel araçtır ve SQL Server’da başarılı sorgular oluşturabilmenin anahtarıdır.
UPDATE Sorguları
=Varolan verileri güncellemek için kullanılan UPDATE sorgusu ve nasıl kullanılacağı anlatılacak.
UPDATE sorguları, SQL Server’da veritabanındaki mevcut verileri güncellemek için kullanılan önemli bir sorgu türüdür. Bu sorgu sayesinde, istenen tablodaki belirli kayıtları değiştirme veya güncelleme işlemi gerçekleştirilebilir.
UPDATE sorgusunun temel kullanımı şu şekildedir:
Syntax | Açıklama |
---|---|
UPDATE tablo_adı | Belirtilen tablodaki verileri günceller. |
SET sütun_adı = yeni_değer | Güncellenmek istenen sütunun yeni değerini belirler. |
WHERE koşul | Hangi kayıtların güncelleneceğini belirtir. |
Örneğin, “müşteriler” adlı bir tabloda, “ad” sütunundaki “John” olan tüm kayıtların “soyad” sütununu “Doe” olarak güncellemek istediğimizi düşünelim. Bu durumda, aşağıdaki UPDATE sorgusunu kullanabiliriz:
UPDATE müşterilerSET soyad = 'Doe'WHERE ad = 'John';
Bu sorgu, “müşteriler” tablosundaki “ad” sütunu “John” olan tüm kayıtların “soyad” sütununu “Doe” olarak güncelleyecektir.
UPDATE sorgusu, veritabanlarında veri manipülasyonu için oldukça güçlü bir araçtır. Dikkatli bir şekilde kullanıldığında, mevcut verileri güncelleme işlemini kolaylaştırır ve veritabanının doğru ve güncel bilgilere erişim sağlamasını sağlar.
WHERE Koşulları
=UPDATE sorgusu, varolan verileri güncellemek için kullanılırken WHERE koşulları da sıklıkla kullanılır. WHERE koşulları, hangi satırların güncelleneceğini belirlemek için kullanılır ve belirli bir koşulu sağlayan satırları seçer.
Örneğin, “Müşteri” tablosunda müşterilerin yaşlarını güncellemek istediğimizi düşünelim. Bu durumda, WHERE koşulunu kullanarak sadece belirli bir yaş aralığına sahip müşterileri güncelleyebiliriz. Örneğin, WHERE koşulunu “Yaş > 30” olarak belirleyerek sadece 30 yaşından büyük müşterilerin verilerini güncelleyebilirsiniz.
Bunun yanı sıra, WHERE koşulları herhangi bir mantıksal operatörle (AND, OR, NOT) birleştirilebilir. Örneğin, “Yaş > 30 AND Cinsiyet = ‘Erkek'” koşulunu kullanarak sadece 30 yaşından büyük ve erkek olan müşterilerin verilerini güncelleyebilirsiniz.
Ayrıca, WHERE koşulları arasında NULL değerleri kontrol etmek için de kullanılabilir. Örneğin, “Adres IS NULL” koşuluyla boş adres alanına sahip müşterilerin verilerini güncelleyebilirsiniz.
WHERE koşullarının doğru şekilde kullanılması, güncelleme işleminin istenen sonuçlara ulaşmasını sağlar ve veritabanı üzerinde kontrolü artırır.
AND ve OR Operatörleri
AND ve OR Operatörleri
SQL’de WHERE koşullarını belirlerken AND ve OR operatörlerini kullanabiliriz. Bu operatörler, birden fazla koşulu birleştirmek ve sorgunun daha spesifik veya genel sonuçlar döndürmesini sağlamak için kullanılır. İşte bu operatörlerin nasıl çalıştığına ve nasıl kullanıldığına dair bilgiler:
- AND Operatörü: Bu operatör, WHERE koşullarını birleştirmek için kullanılır ve tüm koşulların doğru olması durumunda bir kaydı döndürür. Örneğin, bir sorguda “Adı John olan ve Yaşı 25’ten büyük olan” kayıtları bulmak istediğimizi varsayalım. Bu durumda, WHERE koşullarını şu şekilde birleştirebiliriz: WHERE Adı = ‘John’ AND Yaşı > 25.
- OR Operatörü: Bu operatör, WHERE koşullarını birleştirmek için kullanılır ve en az bir koşulun doğru olması durumunda bir kaydı döndürür. Örneğin, bir sorguda “Adı John olan veya Yaşı 25’ten büyük olan” kayıtları bulmak istediğimizi varsayalım. Bu durumda, WHERE koşullarını şu şekilde birleştirebiliriz: WHERE Adı = ‘John’ OR Yaşı > 25.
AND ve OR operatörlerini kullanarak çok çeşitli sorgular oluşturabiliriz. Bu operatörler, WHERE koşullarını daha esnek hale getirir ve istediğimiz sonuçları elde etmemizi sağlar. İşte iki operatörü de kullanarak birkaç örnek:
SELECT * FROM Müşteriler WHERE Bölge = 'İstanbul' AND (Yaşı < 30 OR Geliri > 5000);
Yukarıdaki sorgu, İstanbul’da yaşayan ve yaşı 30’dan küçük olan veya geliri 5000’den büyük olan müşterileri döndürecektir.
SELECT * FROM Ürünler WHERE Kategori = 'Elektronik' OR StokDurumu = 'Tükeniyor';
Yukarıdaki sorgu, elektronik kategorisine ait olan veya stok durumu “Tükeniyor” olan ürünleri döndürecektir.
NULL Değerlerini Kontrol Etmek
NULL Değerlerini Kontrol Etmek
SQL Server’da WHERE koşullarında NULL değerleri nasıl kontrol edeceğimiz ve bu tür senaryolarda nasıl kullanabileceğimizi açıklayacağız. NULL değerleri, bir sütunda veri eksikliğini temsil eden özel bir değerdir. Bazı durumlarda, veritabanında boş veya eksik alanları bulmak için NULL değerlerini kontrol etmemiz gerekebilir.
NULL kontrolü için kullanılan operatör, IS NULL operatörüdür. Bu operatör, belirli bir sütunun değerinin NULL olup olmadığını kontrol etmek için kullanılır. Örneğin, bir müşteri tablosunda “telefon” sütununda NULL değeri olan tüm kayıtları bulmak için şu SQL sorgusunu kullanabiliriz:
SELECT * FROM Musteri WHERE telefon IS NULL;
Bu sorgu, “telefon” sütunu NULL olan tüm müşteri kayıtlarını döndürecektir. Bu bilgi, müşterilerin telefon bilgilerinin eksik olduğu durumları belirlememizde yardımcı olabilir.
Ayrıca, NULL kontrolünü diğer sorgu koşullarıyla birleştirebiliriz. Örneğin, “telefon” sütunu NULL olan ve “ülke” sütunu “Türkiye” olan müşteri kayıtlarını bulmak için şu sorguyu kullanabiliriz:
SELECT * FROM Musteri WHERE telefon IS NULL AND ulke = 'Türkiye';
Bu sorgu, hem telefon bilgisi eksik olan hem de Türkiye’de bulunan müşteri kayıtlarını döndürecektir. Bu, daha spesifik bir koşulun uygulanması gereken senaryolar için kullanışlı olabilir.
JOIN İşlemleri
JOIN İşlemleri: Veritabanlarında ilişkili tablolar arasında JOIN işlemi yapmanın farklı türleri ve nasıl kullanıldığı anlatılacak. JOIN, birden fazla tablodaki verileri birleştirerek sonuç setini döndüren bir sorgu operasyonudur.
SQL’de JOIN işlemleri, veritabanı tasarımında kullanılan ilişkilerle ilişkili tablolar arasında veri alışverişi gerektiren durumlarda yaygın olarak kullanılır. JOIN işlemleri, veritabanının performansını artırmak ve veri bütünlüğünü sağlamak için oldukça önemlidir.
Farklı JOIN Türleri:
- INNER JOIN: İki veya daha fazla tablo arasındaki ortak verileri döndürür.
- LEFT JOIN: Sol tablodaki tüm verileri ve sağ tablodaki ortak verileri döndürür. Eğer sağ tabloda eşleşme yoksa NULL değeri döndürülür.
- RIGHT JOIN: Sağ tablodaki tüm verileri ve sol tablodaki ortak verileri döndürür. Eğer sol tabloda eşleşme yoksa NULL değeri döndürülür.
- FULL JOIN: Tüm tablodaki verileri döndürür. Eşleşmeyen satırlar NULL değeri ile doldurulur.
JOIN işlemleriyle, ilişkili tablolardaki verileri birleştirerek daha karmaşık sorgular oluşturabilir ve veritabanındaki ilişkileri etkin bir şekilde kullanabilirsiniz. JOIN kullanarak birden fazla tablodan veri almak, veritabanlarının güçlü veri işleme yeteneklerini kullanmanıza olanak tanır.
DELETE Sorguları
Veritabanından veri silmek için kullanılan DELETE sorgusu oldukça önemlidir ve dikkat edilmesi gereken bazı noktalar vardır. DELETE sorgusu, veritabanında belirli bir tablodaki verileri silmek için kullanılır ve bu işlem geri dönüşü olmayan sonuçlara neden olabilir. Bu yüzden dikkatli bir şekilde kullanılmalıdır.
Bir DELETE sorgusu çalıştırıldığında, silinecek verilerin belirli bir koşula uygun olması gerekmektedir. Bu koşul, WHERE ifadesi kullanılarak belirtilir ve genellikle bir veya daha fazla sütunun değeri ile karşılaştırma yapılır. Bu şekilde, sadece belirli verilerin silinmesi sağlanır ve diğer veriler güvende kalır.
DELETE sorgusu kullanırken dikkat edilmesi gereken bir diğer nokta da veritabanınızın yedeklerini almak ve önceden test etmek olmalıdır. Yanlışlıkla verileri silmek geri alması zor bir duruma yol açabilir, bu yüzden veri kaybını önlemek için yedekleme yapmak önemlidir. Ayrıca, DELETE sorgusu üzerinde testler yaparak sonuçlarını kontrol etmek ve istenmeyen sonuçları önlemek için iyi bir uygulama olarak kabul edilir.
Truncate ve Drop Komutları
Truncate ve Drop Komutları
DELETE sorgusundan farklı olarak Truncate ve Drop komutları, veritabanından veri silmek için kullanılan işlemlerdir. Truncate komutu, bir tablodaki tüm verileri siler ancak tabloyu ve kolonları korur. Drop komutu ise bir tabloyu veya bir veritabanını tamamen siler.
Truncate komutu, DELETE sorgusuna göre daha hızlı çalışır çünkü verileri fiziksel olarak silmez, tablonun bellek alanını yeniden kullanılabilir hale getirir. Bu nedenle, verileri hızlı bir şekilde temizlemek istediğinizde Truncate komutunu kullanabilirsiniz.
Öte yandan, Drop komutu bir tabloyu veya bir veritabanını tamamen siler. Bu işlem geri alınamaz, bu yüzden Drop komutunu kullanmadan önce dikkatli olmalısınız. Veriyi tamamen kaldırmak ve veritabanının yapısını sıfırlamak için Drop komutunu kullanabilirsiniz.
Truncate ve Drop komutları, veritabanında büyük değişiklikler yaparken dikkatli kullanılmalıdır. Bu işlemleri gerçekleştirmeden önce, verileri yedeklemeniz ve işlem sonuçlarını dikkatlice kontrol etmeniz önemlidir. Bu şekilde, istenmeyen veri kayıplarını önleyebilir ve veritabanınızı istediğiniz şekilde şekillendirebilirsiniz.
DELETE ve WHERE Koşulları
DELETE sorgusu, veritabanından veri silmek için kullanılan bir sorgu türüdür. Ancak, bazen tüm veriyi değil de belirli bir koşula sahip olan verileri silmek isteyebiliriz. İşte tam bu noktada WHERE koşulları devreye girer.
WHERE koşulları, DELETE sorgusuna belirli bir filtreme eklememizi sağlar. Bu sayede, sadece belirli bir koşulu sağlayan verileri silebiliriz. Örneğin, sadece belirli bir şartı taşıyan ürünleri silmek istediğimizi düşünelim. WHERE koşulları sayesinde bu işlemi kolayca gerçekleştirebiliriz.
Bu tür DELETE sorguları, genellikle veritabanında gereksiz veya yanlış veriler bulunduğunda kullanılır. Örneğin, hatalı ürün kayıtlarını silmek, kullanılmayan kullanıcıları silmek veya belirli bir tarihten önceki siparişleri silmek gibi.
WHERE koşulları, sorgularımızı daha spesifik hale getirir ve istediğimiz verileri daha kesin bir şekilde silebiliriz. Bu sayede veritabanımızda temiz ve düzenli veri tutmamızı sağlar.