Select, Where, Order By, Like, Between

Select

Select sorguları istenilen tablodaki kayıtları listelemek için kullanılır.

Sırasıyla select sorgularımızı inceliyoruz öncelikle örnek bir tablomuz olsun

Tablo Adı : Uyeler
ID ADI SOYADI CINSIYET SEHIR
1 Aygün Yıldız Erkek Ordu
2 Ahmet Faruk Ulu Erkek Giresun
3 Melda Çelik Kadın Samsun
4 Görkem Pamuk Erkek Ordu
SELECT ADI,SEHIR from uyeler

Uyeler tablosunu listelemek istediğimizde bize sadece ADI ve SEHIR alanlarını getirecektir. Bu şekilde istemediğimiz alanları kapatabiliyoruz.

SELECT * FROM uyeler

Uyeler tablosundaki tüm alanları listeler.

Where

Sorgularımızda where kullanarak kayıtları ayrıştırabiliriz, şartımıza ne yazarsak ona uygun olan kayıtları listeleyecektir.

SELECT * FROM uyeler WHERE SEHIR="ORDU"

Uyeler tablomuzdaki sehiri "ORDU" olanları listeleyecektir.

SELECT * FROM uyeler WHERE SEHIR="ORDU" AND CINSIYET="ERKEK"

Yukarıdaki örneğimizde ise artık ikinci şart daha eklemiş olduk ve şehiri "ORDU" ve cinsiyeti "ERKEK" olanları listeleyecektir. Burada dikkat edilmesi gereken nokta iki şartın arasına AND yazmamış bu 2 şart sağlanan satırları bize gösterecektir.

SELECT * FROM uyeler WHERE ID BETWEEN 1 AND 4

Yukarıdaki örneğimizde uyeler tablosunda ID numarası 1 ve 4 arasındaki üyeleri listeleyecektir.

AS

Kayıtları listelediğimizde tablo alan adları aynı isimler gelir fakat as komutu kullanarak daha farklı isimde bunları listeleyebiliriz. Bu durum sadece listeleme için geçerlidir alan adlarında bir değişiklik olmayacaktır sadece listelerken isim farklı görünecektir.

SELECT ADI as adi,SOYADI as soyadi FROM uyeler

Yukarıdaki örneğimizde ADI alanını adi, SOYADI alanımızı soyadi şeklinde değiştirmiş olduk.

LIKE

Arama yapmak için kullandımız ifadedir. 

SELECT * FROM uyeler WHERE ADI LIKE '%A%'

Yukarıdaki örnekte uyeler tablosundaki ADI alanında A harif olan kayıtları getirmesini istedik. Tırnak ( ' ) içerisinde belirtmiş olduğumuz yüzde ( % ) ise ne şekilde arayacağını belirtir. A nın sonuna koyduğumuz zaman ADI A ile başlayan kayıtları, A nın başına koyduğumuz zaman ADI A ile biten kayıtları getir demiş oluruz.

IN

Tablodaki alanımız birden fazla değere eşit olabiliyorsa bu şartları Or kullanarak ayrı ayrı yazabiliriz fakat bu bizi yazım olarak biraz yoracaktır fakat IN kullanarak basit bir şekilde yazarak işlemi yapabiliriz.

SELECT * FROM uyeler WHERE SEHIR IN("ORDU","GİRESUN")

SEHIR ,  "ORDU" ve "GiRESUN" olan kayıtları bize listeleyecektir.

IS NULL

Is Null ve Is Not Null isminde iki adet ifademiz bulunmaktadır. Is Null boş olanları getir. Is Not Null boş olmayanları getirmek için kullabiliriz.

SELECT * FROM uyeler WHERE CINSIYET IS NULL AND SEHIR IS NOT NULL

Yukarıdaki örneğimizde CINSIYET alanı boş olanı ve SEHIR alanı boş olmayan kayıtları listelemesini istedik.

ORDER BY

Order By ifadesini tablomuzdaki kayıtların sıralanması için kullanabiliriz, artan veya azalan kayıt gibi

SELECT * FROM uyeler ORDER BY ID DESC

Yukarıdaki örneğimizde ID sondan başlayarak devam eden tüm kayıtları getir demiş olduk. ASC kullanmış olsaydık baştan başlayarak devam eden kayıtları getir demiş olurduk. Tabi bu sorgulara birden fazla şart da ekleyebiliriz.

SELECT * FROM uyeler WHERE SEHIR="ORDU" ORDER BY ID DESC

Bu örneğimizde SEHIRI ORDU olanları sondan başa olacak şekilde getir demiş olduk.

LIMIT

Listenen kayıtların tamamı yerine istenilen miktarda listelememizi sağlayan ifademizdir.

SELECT * FROM uyeler ORDER BY ID DESC LIMIT 3

Yukarıdaki örneğimizde tablomuzdaki son 3 kaydın listelenmesini istedik. 

DISTINCT ve GROUP BY

Tablolarımızda tekrarlanan kayıtlar olabilir bu durumda tekrarlanan kayıtlardan sadece bir tanesini istiyorsak DISTINCT veya GROUP BY kullanarak listeleyebiliriz.

SELECT DISTINCT SEHIR FROM uyeler

SELECT SEHIR FROM uyeler GROUP BY SEHIR

Yukarıdaki örneğimizde DISTINC ve GROUP BY kullanarak listelemiş olduk ikiside aynı sonucu verir tek farkı yazım kuralıdır.
Bu sayede toplam da kaç farklı şehir olduğunu öğrenebiliriz.


Yukarıdaki sorgular MYSQL ve SQL Server için yazılabilir. SQL Server de yazılacaksa çift tırnak ( " " ) yerine tek tırnak ( ' ' ) kullanılmalıdır.

Yorumlar
Yorum Yaz
Cevap Yaz