1. Anasayfa
  2. Eğitim

Hayat Kurtaran SQL Komutları


0

SQL Sorgu Örnekleri. 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  kullanımları ile ilgili SQL Sorgu Örnekleri.

Sql Komutları açıklamaları ve SQL Örnekleri ile bu sorgular kullanılarak hazırlanmış örnek çalışma soruları ve cevapları.

musterinoadsoyaddtarihsehircinsiyetpuan
1AhmetCansever1956-02-19 00:00:00.000İstanbulE64
2MehmetAydın1976-02-19 00:00:00.000SamsunE55
3AliyeSeven1966-06-10 00:00:00.000KonyaK45
4BurakSayın1996-02-19 00:00:00.000İstanbulE23
5BeyzaKılıç1955-12-30 00:00:00.000ManisaK85

SQL SELECT 

musteri tablosunda bulunan ad, soyad sütunlarını listelemek için;

Select ad,soyad FROM musteri 

musteri tablosunda bulunan tüm kayıtları listelemek için;

 Select *From musteri 

SQL SELECT DISTINCT

Bir tabloda bir sütun yinelenen değerleri içerebilir. Distinct ile farklı değerleri listeleyebiliriz.

123 SELECT DISTINCT sehir FROM musteri; 

SQL WHERE

Where anahtar sözcüğü ile sadece belirlenen kurala uygun olan kayıtların listelenmesini sağlayabiliriz.

Örneğin musteri tablosunda sehir sütunu İstanbul olan kayıtları listelemek için;

SELECT * FROM musteri WHERE sehir='istanbul' 

yada cinsiyet “K” olan kayıtları listelemek için;

 SELECT * FROM musteri WHERE cinsiyet='K' 

Where ile kullanabileceğimiz operatörler;

OperatorAçı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
BETWEENarasında
LIKEÖrüntü arama
INBir sütun için birden çok olası değerleri belirtmek için

SQL AND – OR Kullanımı

AND Operatörü 1. Koşul ve 2. Koşulun doğru olması durumunda çalışır.

Örneğin musteri tablosunda  Cinsiyeti “E” ve Şehri “İstanbul” olanları listelemek için;

 SELECT * FROM musteri
WHERE sehir='İstanbul'
AND cinsiyet='E' 

OR operatörü 1. Koşul yada 2. Koşulun doğru olması durumunda çalışır.

Örneğin musteri tablosunda şehri İstanbul yada Samsun olanları listelemek için;

SELECT * FROM musteri
WHERE sehir='İstanbul'
OR sehir='Samsun' 

AND ve OR operatörü birliktede kullanılabilir.

Örnek olarak musteri tablosunda cinsiyeti ‘K’ olan ve Şehri “Konya” yada “Manisa” olanları listelemek için.

SELECT * FROM musteri
WHERE cinsiyet='K'
AND (City='Konya' OR City='Manisa') 

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 musteri tablosundaki kayıtları ad sütünuna göre artan ve azan olarak sıralayalım.

 SELECT * FROM musteri
ORDER BY ad  

Azalan sıralama örneği;

 SELECT * FROM musteri
ORDER BY ad DESC 

INSERT INTO Kullanımı

Kayıt eklemek için kullanılır.

örnek olarak musteri tablosuna bir kayıt ekleyelim.

 INSERT INTO musteri(ad, soyad, dtarih, sehir, cinsiyet, puan)
VALUES ('Ali','Şahin','2000-10-12','Burdur','E',68) 

SQL UPDATE kullanımı

Kayıtlar üzerinde değişiklik güncelleme yapmak için kullanılır.

Örnek olarak musterino su 3 olan kaydın puanını 90 olarak değiştirelim.

 UPDATE musteriler
SET puan=90
WHERE musterino=3 

SQL DELETE Kullanımı

Tablodan kayıt silmek için kullanılır.

Örnek olarak musterino su 4 olan kaydı silmek için

 DELETE FROM musteriler
WHERE musterino=4 

musteriler tablosundaki tüm kayıtları silmek için

 DELETE * FROM musteriler 

SQL SELECT TOP Kullanımı

Belirtilen sayıda kaydı görüntülemek için kullanılır.
örnek olarak musteriler tablosundaki ilk 5 kaydı listeleylim.

 SELECT TOP 5 * FROM musteriler 

SQL LIKE Kullanımı

Belirtilen bir değeri aramak için kullanılır.
Örnek olarak musteriler tablosunda şehri S ile başlayan kayıtları listeleyelim.

 SELECT * FROM musteriler
WHERE sehir LIKE 's%' 

Şehri s ile biten kayıtları listelemek için;

 SELECT * FROM musteriler
WHERE sehir LIKE '%s' 

Şehrin içerisinde “tan” bulunan kayıtları listelemek için;

 SELECT * FROM musteriler
WHERE sehir LIKE '%tan%' 

SQL YER TUTUCU KARAKTERLER

musteriler tablosunda adı “al” ile başlayan kayıtları listelemek için;

 SELECT * FROM musteriler
WHERE AD LIKE 'al%' 

musteriler tablosunda adı “al” ile biten kayıtları listelemek için;

 SELECT * FROM musteriler
WHERE AD LIKE '%al' 

musteriler tablosunda ismi A ile başlayıp ondan sonraki 2 karakteri herhangi bir harf olan ve e ile devam eden ve ondan sonraki harfi belli olmayan kayıtları listeleyelim.(Adı Ahmet olanları listeleyeceğiz. :))

 SELECT * FROM musteriler
WHERE ad LIKE 'A _ _ e _' 

Adı a ile b ile yada s ile başlayan kayıtları listeleyelim.

 SELECT * FROM musteriler
WHERE adLIKE '[abs]%' 

şimdide tam tersi a ile b ile yada s ile başlamayan kayıtları listeleyelim.

 SELECT * FROM musteriler
WHERE adLIKE '[!abs]%' 

SQL IN Kullanımı

IN operatörü, WHERE yan tümcesinde birden fazla değer belirlemenizi sağlar.
Örnek olarak şehri İstanbul ve Konya olan kayıtları listeleyelim.

 SELECT * FROM musteriler
WHERE sehir IN ('İstanbul','Konya') 

SQL BETWEEN KULLANIMI

Between operatörü belirli kriterler arasındaki kayıtları listelemek için kullanılır. Sayı metin yada tarih aralığı verilebilir.

Örnek olarak musteriler tablosunda puanı 70 ile 90 arasında olan kayıtları listeleyelim.

 SELECT * FROM musteriler
WHERE puan
NOT BETWEEN 70 AND 90 

Doğum tarihi 01/01/1996 ile 01/01/2006 arasındaki kişileri listelemek için;

 SELECT * FROM musteriler
WHERE dtarih
BETWEEN '01/01/1996' AND '01/01/2006' 

musteriler tablosunda adı C ve E arasında olan kayıtları listeleyelim.

SELECT * FROM musteriler
WHERE ad  
BETWEEN 'C' AND 'E' 

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 musteriler 

SQL JOIN Kullanımı

Orders ve Customers tablolarını kullanarak oluşturulan örneği inceleyelim.

OrderIDCustomerIDOrderDate
1030821996-09-18
10309371996-09-19
10310771996-09-20
CustomerIDCustomerNameContactNameCountry
1Alfreds FutterkisteMaria AndersGermany
2Ana Trujillo Emparedados y heladosAna TrujilloMexico
3Antonio Moreno TaqueríaAntonio MorenoMexico
 SELECT Orders.
OrderID,
Customers.
CustomerName,
Orders.
OrderDate
FROM Orders
INNER JOIN Customers
ON
Orders.CustomerID=Customers.CustomerID; 

Sorgumuzu çalıştırdığımızda

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados9/18/1996
10365Antonio Moreno Taquería11/27/1996
10383Around the Horn12/16/1996
10355Around the Horn11/15/1996
10278Berglunds snabbköp8/12/1996

SQL LEFT JOIN Kullanımı

 SELECT Customers.
CustomerName,
Orders.
OrderID
FROM Customers
LEFT JOIN Orders
ON
Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName 

SQL RIGHT JOIN Kullanımı

 SELECT Orders.OrderID, Employees.FirstName
FROM OrdersRIGHT
JOIN Employees
ON
Orders.EmployeeID=Employees.EmployeeID
ORDER BY Orders.OrderID 

SQL SELECT INTO Kullanımı

SELECT INTO deyimi bir tablodan veri seçer ve yeni bir tabloya ekler.

örnek olarak musteriler tablosunun musterilerbackup isimli yedeğini oluşturabiliriz.

 SELECT *INTO musteriler
backup
FROM musteriler 

Sadece şehri “İstanbul” olan kayıtları eklemek için;

 SELECT *INTO musteriler
backup
FROM musteriler
WHERE sehir='İstanbul' 

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 musteriler
(
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 musteriler tablosunda puan ortalamasını bulalım.

 SELECT AVG(puan) FROM musteriler 

Aşağıdaki sorguda ise musteriler tablosunda puanı, puan ortalamasının üstünde yer alan kayıtlara ait ad ve soyad verileri listelenmektedir.

SELECT ad, soyad FROM musteriler
WHERE puan&gt;(SELECT AVG(puan) FROM musteriler); 

SQL COUNT Kullanımı

COUNT () işlevi, belirtilen ölçütlerle eşleşen satır sayısını döndürür.

Örnek olarak musteriler tablosundaki toplam kayıt sayısını bulalım.

 SELECT COUNT(*) FROM musteriler; 

Şimdide musteriler tablosunda kaç farklı şehir olduğunu bulalım.

 SELECT COUNT(DISTINCT sehir) FROM musteriler; 

Şimdi de Şubat ayında doğan Müşterileri sayısını bulalım.

 SELECT COUNT (*) FROM musteriler  WHERE MONTH(dtarih)=2 

Aşağıdaki SQL Deyimi ise “Orders” tablosundan “CustomerID” = 7 ye ait siparişlerin sayısını bulur.

 SELECT COUNT(CustomerID) AS Orders
FromCustomerID7 FROM OrdersWHERE CustomerID=7 

SQL ROUND Kullanımı

Ondalıklı sayıyı yuvarlamak için kullanılır.

 SELECT urunadi, ROUND(fiyat,0) AS YuvarlanmisFiyat
FROM urunler 

SQL LEN() KULLANIMI

LEN () işlevi, bir metin alanındaki değerin uzunluğunu döndürür.
Örnek olarak musteriler tablosunda ad alanını yanına soyad uzunluklarını yazdıralım.

 SELECT ad,LEN(soyad) as soyaduzunlugu
FROM musteriler; 

SQL NOW() Kullanımı

NOW fonksiyonu sistem tarih ve saatini döndürür.

Örnek olarak Aşağıdaki SQL deyimi “Products” tablosundan bugün için ürün adını ve fiyatını seçelim.

1234 SELECT ProductName, Price, Now() AS PerDateFROM Products; 

SQL MAX Kullanımı

MAX () işlevi, seçilen sütunun en büyük değeri döndürür.

Örnek olarak musteriler tablosunda en yüksek puanı görüntüleyelim.

 Select MAX(puan) AS EnyuksekPuan FROM musteriler 

Şimdide en yüksek puana sahip müşterileri ad ve soyadı ile listeleyelim.

 SELECT ad,soyad,puan
FROM musteriler
WHERE puan =(SELECT MAX(puan)
FROM musteriler) 

SQL MIN Kullanımı

MIN() işlevi, seçilen sütunun en küçük değeri döndürür.

Ogrenciler tablosunda en düşük puanı görüntüleyelim.

 Select MIN(puan) AS EndusukPuan FROM ogrenciler 

Şimdide en düşük puana sahip ogrencileri ad ve soyadı ile listeleyelim.

 SELECT ad,soyad,puan
FROM ogrenciler
WHERE puan =(SELECT MAX(puan)
FROM ogrenciler) 

SQL Örnek Çalışma Soruları

SELECT KOMUTU İLE İLGİLİ SQL SORGULARI

  1. Öğrenci tablosundaki tüm kayıtları listeleyin.
 select * from ogrenci 
  1. Öğrenci tablosundaki öğrencinin adını ve soyadını ve sınıfını listeleyin.
 select ograd,ogrsoyad,sinif from ogrenci 
  1. Öğrenci tablosundaki cinsiyeti Kız ve Sınıfı 10A olan öğrencileri listeleyiniz.
 select * from ogrenci where cinsiyet=’K’ and sinif=’10A’ 
  1. Öğrenci tablosundaki 10A veya 10B sınıfındaki öğrencilerin adını, soyadını ve sınıfını listeleyiniz.
 Select ograd, ogrsoyad, sinif from ogrenci where sinif=’10A’ or sinif=’10B’ 
  1. Öğrenci tablosundaki öğrencinin adını, soyadını ve numarasını okul numarası olarak listeleyiniz.
 select ograd,ogrsoyad,ogrno as ‘okul numarası’ from ogrenci 
  1. kitap tablosundaki sayfa sayısı 50 ile 200 arasında olan kitapların adını ve sayfa sayısını listeleyiniz.
 select * from kitap where sayfasayisi between 50 and 200 
  1. Öğrenci tablosunda adı Fidan, İsmail ve Leyla olan öğrencileri listeleyiniz.
 select * from ogrenci where ograd in (‘Fidan’,’İsmail’,’Leyla’) 
  1. Öğrenci tablosundaki sınıfı 9A olan Erkekleri veya sınıfı 9B olan kızların adını, soyadını, sınıfını ve cinsiyetini listeleyiniz.
 select ograd,ogrsoyad,sinif,cinsiyet from ogrenci where (sinif=’9A’ and cinsiyet=’E’) or (sinif=’9B’ and cinsiyet=’K’) 
  1. Öğrenci tablosunda doğum yılı 1989 olan öğrencileri listeleyiniz.
 select * from ogrenci where dtarih between ’01/01/1989′ and ’12/31/1989′ 

DELETE KOMUTU İLE İLGİLİ SQL SORGULARI

1- Örnek ismini ikici harfi a olan kayıtları siler

 DELETE FROM ogrenci WHERE adi like ‘_a%’; 

2- Örnek notu 50 den küçük olan kayıtları siler

 DELETE FROM ogrenci WHERE notu <50; 

3- Örnek bilgisayar öğrencilerinin tüm not bilgilerini notlar tablsoundan silen sql komutu

 DELETE FROM notlar WHERE no IN(SELECT no FROM ogrenci where bölüm ’531’ ) 

4- örnek: yazar tablosunu kaldırmak için gerekli olan sql deyimini yazınız.

 DROP TABLE yazar 

5- örnek: isimi Kamil olan öğrenciyi siliyoruz.

 DELETE FROM tblogrenci WHERE isim=‘Kamil’; 

6- elma tablosunun id nosu 15’ten büyük olan verileri siler

 DELETE FROM elma WHERE id > ‘15’ 

7- elma tablosunun id nosu 3 ile 10 arasında olan verileri siler

 DELETE FROM elma WHERE id BETWEEN 3 AND 10 

8- elma tablosunun cins alanı “zonguldak” olan kayıt(lar)ı siler.

 DELETE FROM elma WHERE cins = ‘zonguldak’ 

9- elma tablosundan id nosu 1 olan veriyi siler;

 DELETE FROM elma WHERE id = ‘1’ 

10- Doğum yeri İzmir olan 11b sınıfındaki erkek öğrencileri silin

 DELETE FROM ogrenci WHERE dogum_yeri=’izmir’ AND sinif=’11B’ AND cinsiyet=’E’; 

LIKE KOMUTU İLE İLGİLİ SQL SORGULARI

1- ev kelimesi ile başlayan kayıtlar(eve, evde, eve giderken, evli…)

 SELECT * FROM TabloAdi WHERE AlanAdi LIKE ‘ev%’ 

2- içerisinde Ankara kelimesi geçen kayıtlar

 SELECT * FROM TabloAdi WHERE AlanAdi LIKE ‘%Ankara%’ 

3- karakterden oluşan, son 2 karakteri en ve ilk karakteri herhangi bir karakter olan kayıtlar(sen, ben, fen…)

 SELECT * FROM TabloAdi WHERE AlanAdi LIKE ‘_en’ 

4- A ile K arasındaki tüm harflerle (A ve K dadil) başlayan tüm kayıtlar(Ahmet, Burak, Esra, Kemal…)

 SELECT * FROM TabloAdi WHERE AlanAdi LIKE ‘[A-K]%’ 

5- A ile L arasındaki harfler dışındaki harfler ile başlayan tüm kayıtlar(Melih, Mustafa, Sevcan)

 SELECT * FROM TabloAdi WHERE AlanAdi LIKE ‘[^A-L]%’ 

INSERT INTO KOMUTU İLE İLGİLİ SQL SORGULARI

1- Adı Ali Dursun olan yazarı yazarlar tablosuna ekleyelim;

 Insert into yazar(yazarad,yazarsoyad) values (‘ali’,’dursun’) 

2- Adı Ali Dursun olan yazarı yazarlar tablosuna ekleyelim;

 Insert into yazar(yazarsoyad,yazarad) values (‘dursun’,’ali’) 

3- Adı Ali Dursun olan yazarı yazarlar tablosuna ekleyelim;

 Insert into yazar
values (‘ali’,’dursun’) 
Insert into yazar
values (Null,’ali’,’dursun’) 

4- Adı Yaşar Kemal ve Mahmut Demir olan iki yazarı yazar tablosuna tek sorgu ile ekleyiniz.

 Insert into yazar(yazarad,yazarsoyad) values (‘Yaşar’,’Kemal’),(‘Mahmut’,’Demir’) 

5- Örn: 10C sınıfı öğrencilerinin adını soyadını yazarlar tablosuna ekleyelim

 Insert into yazar(yazarad,yazarsoyad) Select ograd,ogrsoyad from ogrenci where sinif = ’10C’ 

6- Tablomuzdaki bütün alanları kopyalama:

 INSERT INTO personel_yedek SELECT * FROM personel 

7- Tablomuzdaki alanların adını değiştirerek kopyalama:

 INSERT INTO personel_yedek (isim, sehir) SELECT  ad_soyad, sehir FROM personel 

8- Belli kritere göre seçilen kayıtları kopyalama

 INSERT INTO istanbul_personelleri (isim) SELECT ad_soyad FROM personel WHERE sehir=’istanbul’ 

9- Kırmızı ile yazdıklarım bir öğrenci için girilecek bilgilerdir.

 mysql_query("INSERT INTO ogrenciler (no,isim)VALUES(´18´,´Aybars´)"); 

10- Personel tablosunda sadece Personel_no ve Bölümü alanlarına veri girişi yapmak istiyorsak SQL sorgu kodu aşağıdaki şekilde olacaktır.

 INSERT INTO PERSONEL(Personel_no, Bölümü) VALUES (18, ‘Müzik’); 

ORDER BY KOMUTU İLE İLGİLİ SQL SORGULARI

1- Küçükten büyüğe sıralama için ASC anahtarını koymayabilirsiniz. Zaten default olarak sonuçlar bu şekilde geliyor

 SELECT * FROM SONUCLAR ORDER BY OGRENCI_NO 

2- Sorgularımızı DESC anahtar kelimesini kullanarak büyükten küçüğe olacak şekilde revize edelim.

 SELECT * FROM SONUCLAR ORDER BY OGRENCI_NO DESC 

3- Burada, çok sayıda alana göre sıralama, farklı sıralama kriterlerine göre gerçekleştirilebilir. Örneğin aşağıdaki SELECT komutu ile ad alanına göre artan, soyad alanına göre azalan, maas alanına göre artan sıralanmış tablo elde edilmektedir.

 SELECT sicil,ad,soyad,maas FROM Personel ORDER BY ad ASC,soyad DESC,maas ASC; 

4- Personel isimli bir tabloda sicil, ad, soyad, maas sütunları olsun. Maaşa göre artan sırada (küçükten büyüğe doğru) sıralı olarak listeleyiniz.

 SELECT sicil,ad,soyad,maas FROM Personel ORDER BY maas ASC; 

5- Her bölümdeki ortalama maaş nedir?

 SELECT bol_no,AVG(maas) FROM Personel GROUP BY bol_no; 

UPDATE KOMUTU İLE İLGİLİ SQL SORGULARI

  1. Elemanlar tablosundan maaşı 1500 TL den az olanların maaşlarını 1800 TL olarak güncelleyin.
 update elemanlar set maas = 1800 where maas < 1500 
  1. Şirket çalışanlarından Leyla’nın maaşını 2000 tl olarak güncelleyiniz.
 update elemanlar set maas=2000 where ad=’leyla’ 
  1. Ali işten ayrıldığı için onun yerine gelen Hakanın bilgilerini şu şekilde güncelleyiniz Ad = Hakan Maaş = 2200 Tc = 6321456.
 update elemanlar set ad=’Hakan’, maas=2200, tc=6321456 where ad=’Ali’ 
  1. elma tablosundan id nosu 1 olan veri(ler)in cins alanını amasya yapar.
 UPDATE elma SET cins = ‘amasya’ WHERE id = ‘1’ 
  1. Örnekte ‘Global Fast Foods’ veriabanındaki bir mü şterinin telefon numarası UPDATE komutu kullanılarak de ğiştirilmektedir. ‘copy_f_customers’ tablosu bu i şlemde kullanılmaktadır.
 UPDATE copy_f_customers Set phone number=’05489752159’ WHERE id=123; 
  1. Global Fast Foods’ veritabanı kullanılarak mü şteri numarası 123 olan satır silmek için bir örnek verilmektedir.
 DELETE FROM copy_ f_customers WHERE ID =123; 
  1. 2500 tl’den fazla maaş ve 200 tl’den az prim alan personellerin primini 50  tl arttırın
 UPDATE personel SET prim=prim+50 WHERE maas>2500 AND prim<200; 
  1. işe balsama tarihi 2015 öncesi veya primi 300 tl’nin altında olanların maaşına 100 tl zam yapın
 UPDATE personel SET maas=maas+100 WHERE ise_baslama_tarihi<‘2015.01.01’ or prim<300; 
  1. Öğrenci listesi tablosun’da ki adı deniz olan bütün kayıtların bölümünü bilişim olarak değiştirir.
 UPDATE OgrenciListesi SET Bolum =” Bilişim” WHERE Ad=”Deniz”; 
  • Ogrenci Listesindeki bütün ad alanındaki verileri Deniz yapar. (bu kullanıma dikkat etmeli. Şart verilmediği için bütün ad alanındaki verileri Deniz yapacaktır.
     UPDATE OgrenciListesi SET ad="Deniz" 

Reaksiyon Göster
  • 0
    alk_
    Alkış
  • 0
    be_enmedim
    Beğenmedim
  • 0
    sevdim
    Sevdim
  • 0
    _z_c_
    Üzücü
  • 0
    _a_rd_m
    Şaşırdım
  • 0
    k_zd_m
    Kızdım

Baristekin.com.tr içerik yöneticisi

Yazarın Profili
Paylaş

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir