SQL Sorgu Örnekleri
Aşağıdaki gibi örnek bir tablomuz olduğunu varsayarak temel SQL Komutları, SQL SELECT, SQL WHERE, SQL DISTINCT, SQL AND OR, SQL ORDER BY, SQL INSERT INTO, SQL UPDATE, SQL DELETE, SQL INJECTION, SQL SELECT TOP, SQL LIKE, SQL WILDCARDS SQL IN, SQL BETWEEN, SQL ALIASES, SQL JOINS, SQL INNER JOIN, SQL SELECT INTO, SQL CREATE, SQL AVG, SQL COUNT,SQL MAX, SQL MIN, SQL LEN, SQL ROUND ile örnek sorguları inceleyelim.
ogrencino | ad | soyad | dtarih | sehir | cinsiyet | puan |
1 | Mehdi | Kaplan | 10-01-1993 | Erzurum | E | 74 |
2 | Soner | Aslan | 15-10-1992 | İzmir | E | 67 |
3 | Ayşe | Kartal | 19-03-1994 | İzmir | K | 45 |
4 | Yunus | Şahin | 21-09-1993 | Rize | E | 27 |
5 | Melike | Atmaca | 12-12-1992 | Ankara | K | 87 |
SQL SELECT
ogrenci tablosunda bulunan tüm kayıtları listelemek için;
Select ad, soyad FROM ogrenci
SQL WHERE
Where sözcüğü ile sadece belirlenen kurala uygun kayıtların listelenmesini sağlayabiliriz.
Örneğin ogrenci tablosunda sehir sütunu İzmir olan kayıtları listelemek için;
SELECT * FROM ogrenci WHERE sehir='izmir'
Ya da cinsiyet “E” olan kayıtları listelemek için;
SELECT * FROM ogrenci WHERE cinsiyet='E'
Where ile kullanabileceğimiz operatörler;
Operator | Açıklama |
= | Eşit |
<> | EşitDeğil. Note: Bazı versiyonlarda “!=” kullanılabilir. |
> | Büyüktür |
< | Küçüktür. |
>= | Büyük Eşit |
<= | Küçük Eşit |
BETWEEN | arasında |
LIKE | Örüntü arama |
IN | Bir sütun için birden çok olası değerleri belirtmek için |
SQL SELECT DISTINCT
Bir tabloda bir sütun yinelenen aynı değerleri içerebilir. Distinct ile farklı değerleri listeleyebiliriz.
SELECT DISTINCT sehir FROM ogrenci;
SQL AND – OR Kullanımı
AND Operatörü 1. Koşul ve 2. Koşulun doğru olması durumunda çalışır.
Örneğin ogrenci tablosunda Cinsiyeti “E” ve Şehri “İzmir” olanları listelemek için;
SELECT * FROM ogrenci
WHERE sehir='İzmir'
AND cinsiyet='E'
OR operatörü 1. Koşul ya da 2. Koşulun doğru olması durumunda çalışır.
Örneğin ogrenci tablosunda şehri İzmir ya da Erzurum olanları listelemek için;
SELECT * FROM musteri
WHERE sehir='İzmir'
OR sehir='Erzurum'
AND ve OR operatörü birlikte de kullanılabilir.
Örnek olarak ogrenci tablosunda cinsiyeti ‘E’ olan ve Şehri “Ankara” ya da “Rize” olanları listelemek için.
SELECT * FROM ogrenci
WHERE cinsiyet='E'
AND (City='Ankara' OR City='Rize')
INSERT INTO Kullanımı
Kayıt eklemek için kullanılır.
örnek olarak ogrenci tablosuna bir kayıt ekleyelim.
INSERT INTO ogrenci(ad, soyad, dtarih, sehir, cinsiyet, puan)
VALUES (‘Alev’,’Doğan’,’2000-10-12′,’Antalya’,’K’,68)
SQL ORDER BY Kullanımı
ORDER BY, varsayılan olarak artan düzende kayıtları sıralar. Azalan kayıtları sıralamak için DESC anahtar sözcüğünü kullanabilirsiniz.
Örnek olarak ogrenci tablosundaki kayıtları ad sütünuna göre artan ve azalan olarak sıralayalım.
SELECT * FROM ogrenci
ORDER BY ad
Azalan sıralama örneği;
SELECT * FROM ogrenci
ORDER BY ad DESC
SQL DELETE Kullanımı
Tablodan kayıt silme işlemi için kullanılır.
Örnek olarak ogrencino su 5 olan kaydı silmek için,
DELETE FROM ogrenci
WHERE ogrencino=5
ogrenci tablosundaki tüm kayıtları silmek için
DELETE * FROM ogrenci
SQL UPDATE kullanımı
Kayıtlarda güncelleme işlemi yapmak için kullanılır.
Örnek olarak ogrencino su 2 olan kaydın puanını 78 olarak değiştirelim.
UPDATE ogrenci
SET puan=78
WHERE ogrencino=2
SQL SELECT TOP Kullanımı
Belirtilen sayıda kayıt görüntülemek için kullanılır.
Örnek olarak ogrenci tablosundaki ilk 4 kaydı listeleyelim.
SELECT TOP 4 * FROM ogrenci
SQL LIKE Kullanımı
Belirtilen bir değeri aramak için kullanılır.
Örnek olarak ogrenci tablosunda şehri R ile başlayan kayıtları listeleyelim.
SELECT * FROM ogrenci
WHERE sehir LIKE 'r%'
Şehri m ile biten kayıtları listelemek için;
SELECT * FROM ogrenci
WHERE sehir LIKE '%m'
Şehrin içerisinde “zmi” bulunan kayıtları listelemek için;
SELECT * FROM ogrenci
WHERE sehir LIKE '%zmi%'
SQL YER TUTUCU KARAKTERLER
ogrenci tablosunda adı “son” ile başlayan kayıtları listelemek için;
SELECT * FROM ogrenci
WHERE AD LIKE 'son%'
ogrenci tablosunda adı “us” ile biten kayıtları listelemek için;
SELECT * FROM ogrenci
WHERE AD LIKE '%us'
ogrenci tablosunda ismi M ile başlayıp ondan sonraki 2 karakteri herhangi bir harf olan ve d ile devam eden ve ondan sonraki harfi belli olmayan kayıtları listeleyelim.(Adı Mehdi olanları listeleyeceğiz.)
SELECT * FROM ogrenci
WHERE ad LIKE 'M _ _ d _'
Adı y ile m ile ya da s ile başlayan kayıtları listeleyelim.
SELECT * FROM ogrenci
WHERE adLIKE '[yms]%'
Şimdi tam tersi y ile m ile yada s ile başlamayan kayıtları listeleyelim.
SELECT * FROM ogrenci
WHERE adLIKE '[!yms]%'
SQL IN Kullanımı
IN operatörü, WHERE yan tümcesinde birden fazla değer belirlememizi sağlar.
Örnek olarak şehri İzmir ve Rize olan kayıtları listeleyelim.
SELECT * FROM ogrenci
WHERE sehir IN ('İzmir','Rize')
SQL BETWEEN KULLANIMI
Between operatörü belirli kriterler arasındaki kayıtları listelemek için kullanılır. Sayı metin ya da tarih aralığı verilebilir.
Örnek olarak ogrenci tablosunda puanı 70 ile 100 arasında olan kayıtları listeleyelim.
SELECT * FROM ogrenci
WHERE puanNOT BETWEEN 70 AND 100
Doğum tarihi 01/01/1993 ile 01/01/2000 arasındaki kişileri listelemek için;
SELECT * FROM ogrenci
WHERE dtarih BETWEEN '01/01/1993' AND '01/01/2000'
ogrenci tablosunda adı K ve O arasında olan kayıtları listeleyelim.
SELECT * FROM ogrenci
WHERE ad BETWEEN 'K' AND 'O'
SQL ALIASES Kullanımı
SQL tablosunda yer alan sütunlara geçici bir ad vermek için kullanılır.
SELECT ad AS ADI, soyad AS SOYADI,dtarih AS [DOĞUM TARİHİ]
FROM ogrenci
SQL SELECT INTO Kullanımı
SELECT INTO deyimi bir tablodan veri seçer ve yeni bir tabloya ekler.
örnek olarak ogrenci tablosunun ogrencibackup isimli yedeğini oluşturabiliriz.
SELECT *
INTO ogrencibackup
FROM ogrenci
Sadece şehri “İzmir” olan kayıtları eklemek için;
SELECT *
INTO ogrencibackup
FROM ogrenci
WHERE sehir='İzmir'
SQL CREATE Kullanımı
Yeni bir database oluşturmak için;
SQL CREATE DATABASE dbname
SQL CREATE TABLE Kullanımı
Yeni tablo oluşturmak için kullanılır.
CREATE TABLE ogrenci
(
id int,
ad varchar(255),
soyad varchar(255),
adres varchar(255),
sehir varchar(255)
);
SQL AVG Kullanımı
AVG () işlevi sayısal bir sütunun ortalama değerini döndürür.
Örnek olarak ogrenci tablosunda puan ortalamasını bulalım.
SELECT AVG(puan) FROM ogrenci
Aşağıdaki sorguda ise ogrenci tablosunda puanı, puan ortalamasının üstünde yer alan kayıtlara ait ad ve soyad verileri listelenmektedir.
SELECT ad, soyad FROM ogrenci
WHERE puan>(SELECT AVG(puan) FROM ogrenci);
SQL COUNT Kullanımı
COUNT () işlevi, belirtilen ölçütlerle eşleşen satır sayısını döndürür.
Örnek olarak ogrenci tablosundaki toplam kayıt sayısını bulalım.
SELECT COUNT(*) FROM ogrenci;
Şimdi de ogrenci tablosunda kaç farklı şehir olduğunu bulalım.
SELECT COUNT(DISTINCT sehir) FROM ogrenci;
Şimdi de Ocak ayında doğan Öğrenci sayısını bulalım.
SELECT COUNT (*) FROM ogrenci WHERE MONTH(dtarih)=1
SQL LEN() KULLANIMI
LEN () işlevi, bir metin alanındaki değerin uzunluğunu döndürür.
Örnek olarak ogrenci tablosunda ad alanını yanına soyad uzunluklarını yazdıralım.
SELECT ad,LEN(soyad) as soyaduzunlugu
FROM ogrenci;
SQL NOW() Kullanımı
NOW fonksiyonu sistem tarih ve saatini döndürür.
SQL ROUND Kullanımı
Ondalıklı sayıyı yuvarlamak için kullanılır.
SQL MAX Kullanımı
MAX () işlevi, seçilen sütunun en büyük değeri döndürür.
Örnek olarak ogrenci tablosunda en yüksek puanı görüntüleyelim.
Select MAX(puan) AS EnyuksekPuan FROM ogrenci
Şimdide en yüksek puana sahip müşterileri ad ve soyadı ile listeleyelim.
SELECT ad,soyad,puan
FROM ogrenci
WHERE puan =(SELECT MAX(puan)
FROM ogrenci)
SQL MIN Kullanımı
MIN() işlevi, seçilen sütunun en küçük değeri döndürür.
Ogrenci tablosunda en düşük puanı görüntüleyelim.
Select MIN(puan) AS EndusukPuan FROM ogrenci
Şimdide en düşük puana sahip ogrencileri ad ve soyadı ile listeleyelim.
SELECT ad,soyad,puan
FROM ogrenci
WHERE puan =(SELECT MAX(puan)
FROM ogrenci)