SQL Sorguları
Bu makalede SQL sorgularıyla ilgili konular tartışılacak. SQL (Structured Query Language), veritabanı yönetim sistemlerinde verileri sorgulamak, düzenlemek, ekleme ve silme işlemleri yapmak için kullanılan bir dildir. SQL sorguları, birden çok tabloyu birleştirerek veri analizi yapmak veya belirli koşullara göre veri filtrelemek gibi çeşitli amaçlarla kullanılabilir.
SELECT İfadeleri
SELECT ifadesi bir SQL sorgusunda belirli kolonları seçmek için kullanılır. Seçilen kolonlar, FROM ifadesiyle belirtilen tablodan çekilir. Örneğin, “SELECT ad, soyad FROM kullanıcılar” sorgusuyla kullanıcıların sadece adı ve soyadı görüntülenir.
WHERE İfadeleri
WHERE ifadesi bir SQL sorgusunda belirli koşullara göre veri filtrelemek için kullanılır. WHERE ifadesiyle birlikte kullanılan koşullarla belirli bir şart sağlanan veriler seçilebilir. Örneğin, “SELECT * FROM ürünler WHERE stok > 0” sorgusuyla stokta bulunan ürünler listelenebilir.
AND Operatörü
AND operatörü, birden fazla koşulu aynı anda kontrol etmek için kullanılır. Bir SQL sorgusunda WHERE ifadesiyle birlikte kullanılan birden fazla koşul varsa, koşulların tamamının sağlanması gerekmektedir. Örneğin, “SELECT * FROM kullanıcılar WHERE yaş > 18 AND abonelik = ‘Premium'” sorgusuyla yaşları 18’den büyük olan ve premium aboneliği olan kullanıcılar seçilebilir.
NOT Operatörü
NOT operatörü, bir koşulu yanlış kabul etmek için kullanılır. SQL sorgusunda WHERE ifadesiyle birlikte kullanılan koşulların tam tersini seçmek için NOT operatörü kullanılabilir. Örneğin, “SELECT * FROM ürünler WHERE NOT stok = 0” sorgusuyla sıfır stoklu olmayan ürünler listelenebilir.
BETWEEN Operatörü
BETWEEN operatörü, belirli bir aralıktaki verileri seçmek için kullanılır. Bir SQL sorgusunda WHERE ifadesiyle birlikte kullanılan BETWEEN operatörü, belirli bir değeri iki sınırlayıcı değer arasında olan verileri seçer. Örneğin, “SELECT * FROM çalışanlar WHERE yaş BETWEEN 25 AND 40” sorgusuyla yaşları 25 ile 40 arasında olan çalışanlar listelenebilir.
OR Operatörü
OR operatörü, birden fazla koşulu veya koşulları kontrol etmek için kullanılır. Bir SQL sorgusunda WHERE ifadesiyle birlikte kullanılan OR operatörü, koşullardan en az birinin sağlanması durumunda verilerin seçilmesini sağlar. Örneğin, “SELECT * FROM çalışanlar WHERE pozisyon = ‘Müdür’ OR pozisyon = ‘Direktör'” sorgusuyla müdür veya direktör pozisyonunda olan çalışanlar listelenebilir.
ORDER BY İfadeleri
ORDER BY ifadesi, sorgu sonuçlarını belirli bir sıraya göre düzenlemek için kullanılır. Sorgu sonuçları varsayılan olarak artan sırada (ASC) sıralanır. İstenirse sıralamayı azalan sırada (DESC) yapmak da mümkündür. Örneğin, “SELECT * FROM ürünler ORDER BY fiyat ASC” sorgusuyla ürünlerin fiyatlarına göre artan şekilde sıralanabilir.
LIMIT İfadesi
LIMIT ifadesi, sorgu sonuçlarını belirli bir sayıda kısıtlamak için kullanılır. İstenen kayıt sayısı belirtilerek sorgu sonuçları buna göre sınırlanır. Örneğin, “SELECT * FROM tedarikçiler LIMIT 10” sorgusuyla ilk 10 tedarikçi listelenebilir.
SELECT İfadeleri
SELECT İfadeleri
SELECT ifadesi, bir SQL sorgusunda belirli kolonları seçmek için kullanılır. SQL sorgularında veritabanındaki verileri çekmek ve belirli gereksinimlere göre filtrelemek için kullanılan temel bir ifadedir. SELECT ifadesi sayesinde, veritabanında bulunan birden fazla tablo arasındaki ilişkileri kurabilir ve istenen verileri alabiliriz.
SELECT ifadesi kullanırken hangi kolonların seçileceğini belirtmek için SELECT anahtar kelimesinden sonra kolon adları yazılır. Kolon adları virgülle ayrılarak ifade edilir. Örneğin, “SELECT kolon1, kolon2” şeklinde kullanılabilir. Bu şekilde, sorgunun dönmesini istediğimiz kolonları belirleyebiliriz.
Ayrıca, SELECT ifadesi ile verileri çekerken FROM anahtar kelimesini kullanarak hangi tablodan verilerin alınacağını belirtebiliriz. Örneğin, “SELECT kolon1, kolon2 FROM tablo1” şeklinde bir sorgu yazabiliriz.
SELECT ifadesi ayrıca AS anahtar kelimesi ile kolon isimlerini değiştirme imkanı sunar. Bu şekilde, çekilen verilerin kod içerisinde daha anlaşılır ve okunabilir olmasını sağlayabiliriz.
SELECT ifadesi, SQL sorgularının temel bir bileşenidir ve veritabanından istenen verileri seçmek için kullanılır.
WHERE İfadeleri
WHERE ifadesi, bir SQL sorgusunda belirli koşullara göre veri filtrelemek için kullanılır. Bu ifade, sorgu sonuçlarını istenilen kriterlere göre daraltmak veya spesifik verilere erişmek için çok önemlidir. WHERE ifadesi, birden fazla koşul kullanılarak daha kapsamlı sorgular oluşturmayı mümkün kılar.
Örneğin, bir veritabanında çalışanların maaş bilgileri bulunuyor olabilir ve sadece belirli bir maaş aralığındaki çalışanları listelemek istiyorsunuz. WHERE ifadesini kullanarak, belirli bir maaş aralığına sahip çalışanları seçebilirsiniz. Aynı şekilde, çalışanların belirli bir departmanda çalıştığına veya belirli bir şehirde yaşadığına göre filtreleme yapabilirsiniz.
WHERE ifadesi ayrıca birçok operatörü destekler. Örneğin, “=” operatörü, belirli bir sütunda istediğiniz değere sahip verileri seçmek için kullanılabilir. “<" ve ">” operatörleri, belirli bir değerin altında veya üzerindeki verileri seçmek için kullanılır. “IN” operatörü, belirli değerlere sahip verileri seçmek için kullanılabilir. Bu operatör, sorguyu daha kolay ve anlaşılır hale getirebilir.
WHERE ifadesinin yanı sıra, operatörlerle birlikte mantıksal bağlaçları da kullanabilirsiniz. “AND”, “OR” ve “NOT” operatörleri, birden fazla koşulu veya koşulları kontrol etmek için kullanılır. Bu sayede, daha karmaşık sorgular oluşturabilir ve veri filtreleme işlemlerini daha esnek hale getirebilirsiniz.
AND Operatörü
AND operatörü, SQL sorgularında birden fazla koşulu aynı anda kontrol etmek için kullanılan bir ifadedir. Bu operatör sayesinde, sorgunun sonucunda hem birinci koşulun hem de ikinci koşulun sağlandığı verileri elde edebiliriz.
Örneğin, bir online mağaza düşünelim. Müşterilerimize bir kampanya yapmak istiyoruz ve bu kampanyadan sadece İstanbul’da yaşayan ve 30 yaşından büyük olan müşterilerimizin faydalanmasını istiyoruz. Bu durumda, sorguyu aşağıdaki gibi yazabiliriz:
SQL Sorgusu |
---|
SELECT * FROM customers WHERE city = ‘İstanbul’ AND age > 30; |
- SELECT * FROM customers: customers tablosundaki tüm verileri seçiyoruz.
- WHERE city = ‘İstanbul’ AND age > 30: Sadece İstanbul’da yaşayan ve 30 yaşından büyük müşterileri filtreliyoruz.
Görüldüğü gibi, AND operatörü ile sadece belirli koşulları sağlayan verileri elde etme imkanı elde ediyoruz. Bu operatör, veri analizi ve filtreleme işlemlerinde sıklıkla kullanılan bir araçtır ve SQL sorgularında oldukça güçlüdür.
NOT Operatörü
=NOT operatörü, bir koşulu yanlış kabul etmek için kullanılır. NOT operatörü, koşulun başarısız olması durumunu ifade eder ve sonucu tersine çevirir. Yani, koşulun doğru olması durumunu yanlış olarak kabul etmek için kullanılır.
Bir SQL sorgusunda, NOT operatörü genellikle WHERE ifadesi içerisinde kullanılır. Örneğin, bir veritabanında müşteri tablosunda yaş değeri 30’dan büyük olmayan müşterileri bulmak istediğimizi düşünelim. Bu durumu NOT operatörü kullanarak şu şekilde ifade edebiliriz: WHERE NOT yaş > 30. Yani, yaş değeri 30’dan büyük olan müşterileri filtreleyerek, yaş değeri 30’dan büyük olmayan müşterilere erişebiliriz.
NOT operatörü ayrıca diğer operatörlerle birlikte kullanılarak daha karmaşık sorgular oluşturmak için de kullanılabilir. Örneğin, WHERE NOT (ad = ‘John’ AND soyad = ‘Doe’) ifadesi, adı John ve soyadı Doe olan müşterileri hariç tutar.
Özetlemek gerekirse, NOT operatörü, bir koşulu yanlış olarak kabul etmek için kullanılır. Mantıksal operatörlerle birlikte kullanılarak sorguları daha esnek hale getirebilir ve istenmeyen sonuçları filtreleyebilirsiniz.
BETWEEN Operatörü
BETWEEN operatörü, SQL sorgularında belirli bir aralıktaki verileri seçmek için kullanılan bir ifadedir. Bu operatör, veritabanında belirli bir değer aralığına sahip olan kayıtları seçmemize olanak sağlar. BETWEEN operatörü, genellikle sayısal veya tarih verileri üzerinde kullanılır.
BETWEEN operatörü, iki değer arasındaki kayıtları seçmek için kullanılır. Operatörün kullanımı şu şekildedir:
Operatör | Kullanımı |
---|---|
BETWEEN | değer1 AND değer2 |
Değer1 ve değer2, seçmek istediğimiz aralığın başlangıç ve bitiş değerleridir. BETWEEN operatörü, başlangıç ve bitiş değerleri de dahil olmak üzere, bu aralıktaki tüm kayıtları döndürür.
Örneğin, bir müşteri veritabanı üzerinde işlem yaptığınızı düşünelim. Sadece belirli bir tarih aralığındaki müşteri kayıtlarını görmek istiyorsunuz. BETWEEN operatörü kullanarak, istediğiniz tarih aralığına sahip müşteri kayıtlarını seçebilirsiniz.
BETWEEN operatörü, veri filtreleme işlemlerinde oldukça kullanışlıdır. İki değer arasındaki verileri seçmek için kolay ve etkili bir yöntem sağlar.
OR Operatörü
OR Operatörü veya operatörü, birden fazla koşulu veya koşulları kontrol etmek için kullanılan önemli bir SQL sorgusu ifadesidir. Bu operatör, sorgulanan veritabanında birden fazla koşulunun yerine getirilmesi gerektiği durumlarda kullanılır. OR operatörü, sorgu sonuçlarının bir veya daha fazla şartı karşılaması durumunda sonuçları döndürür.
OR operatörü, veritabanında “veya” mantığına dayalı sorgular yapmak için kullanılır. Örneğin, bir e-ticaret sitesinde bir ürün listesini filtrelemek istediğinizi varsayalım. Ürünleri filtrelerken kullanıcının belirli bir fiyat aralığında veya belirli bir kategoriye ait olan ürünleri görmesini istiyorsanız, OR operatörü kullanarak bu sorguyu gerçekleştirebilirsiniz.
Örnek bir sorguda “WHERE” ifadesiyle birlikte OR operatörünü kullanabilirsiniz:
SELECT * FROM urunlerWHERE fiyat < 100 OR kategori = 'Elektronik'
Bu sorgu, fiyatı 100'den düşük veya kategorisi "Elektronik" olan tüm ürünleri geri döndürecektir. SQL sorgularında OR operatörünü kullanmak, veritabanında karmaşık sorgular yapmanıza olanak sağlar ve aradığınız sonuçları daha iyi şekillendirmenize yardımcı olur.
ORDER BY İfadeleri
ORDER BY ifadesi, SQL sorgularında sorgu sonuçlarını belirli bir sıraya göre düzenlemek için kullanılır. Bu ifadeyi kullanarak verileri istediğiniz sıralama ölçütüne göre listeleyebilirsiniz.
Örneğin, bir veritabanında bulunan bir tablonun belirli bir kolonunu veya kolonlarını sıralamak istediğinizde ORDER BY ifadesini kullanabilirsiniz. Sıralama için genellikle alfabetik sıra (ASC) veya tersten alfabetik sıra (DESC) kullanılır.
ORDER BY ifadesini kullanırken, sıralama ölçütünü belirtmeniz gerekmektedir. Örneğin, bir ürün tablosunu fiyatlarına göre sıralamak istediğinizde, "ORDER BY fiyat" şeklinde bir ifade kullanabilirsiniz. Böylece, verileri fiyatlarına göre küçükten büyüğe veya büyükten küçüğe doğru sıralayabilirsiniz.
ORDER BY ifadesi ayrıca birden fazla sıralama ölçütüne de izin verir. Örneğin, "ORDER BY fiyat ASC, ad DESC" şeklinde bir ifade kullanarak, önce fiyata göre küçükten büyüğe sıralama yapabilir ve ardından isme göre tersten sıralama yapabilirsiniz.
ORDER BY ifadesi SQL sorgularında sıklıkla kullanılan önemli bir ifadedir ve verilerin doğru sıralama ile sunulmasını sağlar.
ASC ve DESC
ASC ve DESC terimleri, sıralama düzenini belirtmek için kullanılır. SQL sorgularında kullanılan ORDER BY ifadesiyle birlikte kullanılırlar. Sorgu sonuçlarını belirli bir sıraya göre düzenlememizi sağlarlar.
ASC (Ascending) terimi, sorgu sonuçlarının artan sırada sıralanmasını ifade eder. Örneğin, bir tablodaki verileri artan bir şekilde sıralamak için ASC terimini kullanabiliriz. Örneğin, "SELECT * FROM tablo_adı ORDER BY sütun_adı ASC" şeklinde bir sorgu kullanarak verileri artan bir şekilde sıralayabiliriz.
DESC (Descending) terimi ise sorgu sonuçlarının azalan sırada sıralanmasını ifade eder. Örneğin, tablodaki verileri azalan bir şekilde sıralamak için DESC terimini kullanabiliriz. "SELECT * FROM tablo_adı ORDER BY sütun_adı DESC" şeklinde bir sorgu kullanarak verileri azalan bir şekilde sıralayabiliriz.
ASC ve DESC terimleri, SQL sorgularında verilerin belirli bir sıraya göre gösterilmesini sağlar. Sıralama düzenini belirtmek için bu terimleri kullanarak sorgularımızı daha iyi kontrol edebilir ve istediğimiz şekilde sonuçlar elde edebiliriz.
LIMIT İfadesi
LIMIT ifadesi, SQL sorgularında sorgu sonuçlarını belirli bir sayıda kısıtlamak için kullanılan bir ifadedir. Özellikle büyük veritabanlarından veri çektiğimizde genellikle tüm sonuçları elde etmek yerine belirli bir sayıda sonuç almak daha mantıklı olabilir. Bu durumda LIMIT ifadesi imdadımıza koşar.
LIMIT ifadesi, SELECT ifadesi ile birlikte kullanılır ve sorgu sonucunda elde etmek istediğimiz veri sayısını belirtir. Örneğin, "SELECT * FROM kullanıcılar LIMIT 10" sorgusuyla kullanıcılar tablosundaki ilk 10 kaydı elde edebiliriz. LIMIT ifadesi, sorgu sonucunda elde etmek istediğimiz veri sayısını kontrol etmemizi sağlar ve böylece gereksiz verileri çekmekten kaçınırız.
LIMIT ifadesi kullanırken dikkat etmemiz gereken bir diğer nokta ise sıralama düzenidir. Eğer sorgu sonucunu belirli bir sıralamaya göre kısıtlamak istiyorsak, önce ORDER BY ifadesiyle veriyi sıralamalı, ardından LIMIT ifadesiyle belirli bir sayıda sonuç elde etmeliyiz. Örneğin, "SELECT * FROM kullanıcılar ORDER BY yaş DESC LIMIT 5" sorgusuyla yaşa göre tersten sıralanmış ilk 5 kullanıcıyı elde edebiliriz.