SQL Veritabanı üzerinde hazırlanmış SQL Sorguları ile ilgili çalışma soruları ve cevapları. Hazırlanan SQL veritabanı çalışma soruları kutuphane veritabanı kullanılarak hazırlanmıştır. Örnek veritabanı kütüphane veritabanında onlarca sorgu örneğini yazının devamında görebilirsiniz.
kutuphane veritabanını indirmek için TIKLA
SQL arama sihirbazı ile istediğiniz SQL ifadesine göre aramak yapmak için tıklayın.
2.Öğrenci tablosundaki öğrencinin adını ve soyadını ve sınıfını listeleyin.
3. Öğrenci tablosundaki cinsiyeti kız (K) olan kayıtları listeleyiniz.
4.Öğrenciler tablosundaki sınıfların adını her sınıf bir kez görülecek şekilde listeleyiniz.
5.Öğrenci tablosundaki cinsiyeti Kız ve Sınıfı 10A olan öğrencileri listeleyiniz.
6.Öğrenci tablosundaki 10A veya 10B sınıfındaki öğrencilerin adını, soyadını ve sınıfını listeleyiniz.
7.Öğrenci tablosundaki öğrencinin adını, soyadını ve numarasını okul numarası olarak listeleyiniz. (as kullanım örneği)
8. Öğrenci tablosundaki öğrencinin adını ve soyadını birleştirip, adsoyad olarak listeleyiniz. (as kullanım örneği)
9. Öğrenci tablosundaki Adı ‘A’ harfi ile başlayan öğrencileri listeleyiniz.
10.kitap tablosundaki sayfa sayısı 50 ile 200 arasında olan kitapların adını ve sayfa sayısını listeleyiniz.
11. Öğrenci tablosunda adı Fidan, İsmail ve Leyla olan öğrencileri listeleyiniz.
12. Öğrenci tablosundaki öğrencilerden adı A, D ve K ile başlayan öğrencileri listeleyiniz.
13. Öğ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.
14. Sınıfı 10A veya 10B olan erkekleri listeleyiniz.
15.Öğrenci tablosunda doğum yılı 1989 olan öğrencileri listeleyiniz.
16.Öğrenci numarası 30 ile 50 arasında olan Kız öğrencileri listeleyiniz.
17.Öğrencileri adına göre sıralayınız.
18. Öğrencileri adına, adı aynı olanlarıda soyadlarına göre sıralayınız.
19. 10A sınıfındaki öğrencileri okul numarasına göre azalan olarak sıralayınız.
20. Öğrenciler tablosundaki ilk 10 kaydı listeleyiniz.
21. Öğrenciler tablosundaki ilk 10 kaydın ad, soyad ve doğum tarihi bilgilerini listeleyiniz.
22.Sayfa sayısı en fazla olan kitabı listeleyiniz.
23. Öğrenciler tablosundaki en genç öğrenciyi listeleyiniz.
24. 10A sınıfındaki en yaşlı öğrenciyi listeyin.
25. İkinci harfi N olan kitapları listeleyiniz.
26. Öğrencileri sınıflarına göre gruplayarak listeleyin.
27. Öğrencileri her sorgulamada sıralaması farklı olacak şekilde rastgele listeleyin.
28. Ogrenci tablosundan Rastgele bir öğrenci seçiniz.
29. 10A sınıfından rastgele bir öğrencinin adını, soyadını, numarasını ve sınıfını getirin.
31. Biyografi türünü tür tablosuna ekleyiniz.
32. 10A sınıfı olan ÇAĞLAR ÜZÜMCÜ isimli erkek, sınıfı 9B olan LEYLA ALAGÖZ isimli kız ve sınıfı 11C olan Ayşe Bektaş isimli kız öğrencileri tek sorguda ekleyin.
33. Öğrenci tablosundaki rastgele bir öğrenciyi yazarlar tablosuna yazar olarak ekleyiniz.
34.Öğrenci numarası 10 ile 30 arasındaki öğrencileri yazar olarak ekleyiniz.
35. Nurettin Belek isimli yazarı ekleyip yazar numarasını yazdırınız.(Not: Otomatik arttırmada son arttırılan değer @@IDENTITY değişkeni içinde tutulur.)
–sorguyu görüntülemek için yazıldı
37. 9A sınıfındaki tüm öğrencileri 10A sınıfına aktarın
–sorguyu görüntülemek için yazıldı
38. Tüm öğrencilerin puanını 5 puan arttırın.
NOT 2: TRUNCATE TABLE komutu sorgu örneklerinin sonunda verilecektir.(Tabloyu boşaltmak için kullanılır. TRUNCATE TABLE TABLOADI)
39. 25 numaralı yazarı silin.
–Not: veritabanı fk ayarlarında delete,update cascade ayarlandığı için ilişkili tabloları otomatik olarak güncellenecek.
40. Doğum tarihi null olan öğrencileri listeleyin. (insert sorgusu ile girilen 3 öğrenci listelenecektir)
42. Fıkra ve hikaye türündeki kitapların adını ve türünü listeleyin.
43. 10B veya 10C sınıfındaki öğrencilerin numarasını, adını, soyadını ve okuduğu kitapları listeleyin.
44. Roman türündeki kitapları okuyan öğrencilerin numarasını, adını, soyadını ve okuduğu kitabın adını listeleyin
46. Fıkra ve hikaye türündeki kitapların adını ve türünü listeleyin.
yada
47. 10B veya 10C sınıfındaki öğrencilerin numarasını, adını, soyadını ve okuduğu kitapları, öğrenci adına göre listeleyin.
49. Kitap almayan öğrencileri listeleyin.
50. Alınan kitapların kitap numarasını, adını ve kaç defa alındığını kitap numaralarına göre artan sırada listeleyiniz.
51. Alınan kitapların kitap numarasını, adını kaç defa alındığını (alınmayan kitapların yanında 0 olsun) listeleyin.
52. Öğrencilerin adı soyadı ve aldıkları kitabın adı listelensin.

kutuphane veritabanını indirmek için TIKLA
SQL arama sihirbazı ile istediğiniz SQL ifadesine göre aramak yapmak için tıklayın.
SELECT SORGUSU ÇALIŞMA SORULARI
1.Öğrenci tablosundaki tüm kayıtları listeleyin.1 2 3 | select * from ogrenci |
2.Öğrenci tablosundaki öğrencinin adını ve soyadını ve sınıfını listeleyin.
1 2 3 | select ograd,ogrsoyad,sinif from ogrenci |
3. Öğrenci tablosundaki cinsiyeti kız (K) olan kayıtları listeleyiniz.
1 2 3 | select * from ogrenci where cinsiyet='K' |
4.Öğrenciler tablosundaki sınıfların adını her sınıf bir kez görülecek şekilde listeleyiniz.
1 2 3 | select distinct sinif from ogrenci |
5.Öğrenci tablosundaki cinsiyeti Kız ve Sınıfı 10A olan öğrencileri listeleyiniz.
1 2 3 | select * from ogrenci where cinsiyet='K' and sinif='10A' |
6.Öğrenci tablosundaki 10A veya 10B sınıfındaki öğrencilerin adını, soyadını ve sınıfını listeleyiniz.
1 2 3 4 | select ograd, ogrsoyad, sinif from ogrenci where sinif='10A' or sinif='10B' |
7.Öğrenci tablosundaki öğrencinin adını, soyadını ve numarasını okul numarası olarak listeleyiniz. (as kullanım örneği)
1 2 3 | select ograd,ogrsoyad,ogrno as 'okul numarası' from ogrenci |
8. Öğrenci tablosundaki öğrencinin adını ve soyadını birleştirip, adsoyad olarak listeleyiniz. (as kullanım örneği)
1 2 3 | select ograd+ogrsoyad as 'Ad Soyad' from ogrenci |
9. Öğrenci tablosundaki Adı ‘A’ harfi ile başlayan öğrencileri listeleyiniz.
1 2 3 | select * from ogrenci where ograd like 'A%' |
10.kitap tablosundaki sayfa sayısı 50 ile 200 arasında olan kitapların adını ve sayfa sayısını listeleyiniz.
1 2 3 | select * from kitap where sayfasayisi between 50 and 200 |
11. Öğrenci tablosunda adı Fidan, İsmail ve Leyla olan öğrencileri listeleyiniz.
1 2 3 | select * from ogrenci where ograd in ('Fidan','İsmail','Leyla') |
12. Öğrenci tablosundaki öğrencilerden adı A, D ve K ile başlayan öğrencileri listeleyiniz.
1 2 3 | select * from ogrenci where ograd like '[ADK]%' |
13. Öğ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.
1 2 3 4 | select ograd,ogrsoyad,sinif,cinsiyet from ogrenci where (sinif='9A' and cinsiyet='E') or (sinif='9B' and cinsiyet='K') |
14. Sınıfı 10A veya 10B olan erkekleri listeleyiniz.
1 2 3 4 | select ograd,ogrsoyad,sinif,cinsiyet from ogrenci where (sinif='10A' or sinif='10B') and cinsiyet='E' |
15.Öğrenci tablosunda doğum yılı 1989 olan öğrencileri listeleyiniz.
1 2 3 4 | select * from ogrenci where dtarih between '01/01/1989' and '12/31/1989' |
16.Öğrenci numarası 30 ile 50 arasında olan Kız öğrencileri listeleyiniz.
1 2 3 4 | select * from ogrenci where ogrno between 30 and 70 and cinsiyet = 'K' |
17.Öğrencileri adına göre sıralayınız.
1 2 3 | select * from ogrenci order by ograd |
18. Öğrencileri adına, adı aynı olanlarıda soyadlarına göre sıralayınız.
1 2 3 | select * from ogrenci order by ograd,ogrsoyad |
19. 10A sınıfındaki öğrencileri okul numarasına göre azalan olarak sıralayınız.
1 2 3 | select * from ogrenci where sinif='10A' order by ogrno desc |
20. Öğrenciler tablosundaki ilk 10 kaydı listeleyiniz.
1 2 3 | select top 10 * from ogrenci |
21. Öğrenciler tablosundaki ilk 10 kaydın ad, soyad ve doğum tarihi bilgilerini listeleyiniz.
1 2 3 | select top 10 ograd,ogrsoyad,dtarih from ogrenci |
22.Sayfa sayısı en fazla olan kitabı listeleyiniz.
1 2 3 | select top 1 * from kitap order by sayfasayisi desc |
23. Öğrenciler tablosundaki en genç öğrenciyi listeleyiniz.
1 2 3 | select top 1 ograd,ogrsoyad,dtarih from ogrenci order by dtarih desc |
24. 10A sınıfındaki en yaşlı öğrenciyi listeyin.
1 2 3 4 | select top 1 ograd,ogrsoyad,dtarih from ogrenci where sinif='10A' order by dtarih |
25. İkinci harfi N olan kitapları listeleyiniz.
1 2 3 4 | select * from kitap where kitapadi like '_n%' |
26. Öğrencileri sınıflarına göre gruplayarak listeleyin.
1 2 3 | select * from ogrenci order by sinif |
27. Öğrencileri her sorgulamada sıralaması farklı olacak şekilde rastgele listeleyin.
1 2 3 | select * from ogrenci order by newid() |
28. Ogrenci tablosundan Rastgele bir öğrenci seçiniz.
1 2 3 | select top 1 * from ogrenci order by newid() |
29. 10A sınıfından rastgele bir öğrencinin adını, soyadını, numarasını ve sınıfını getirin.
1 2 3 4 5 | select top 1 ogrno,ograd,ogrsoyad,sinif from ogrenci where sinif= '10A' order by newid() |
INSERT INTO ÇALIŞMA SORULARI
30. Yazar tablosunu KEMAL UYUMAZ isimli yazarı ekleyin.1 2 3 | insert into yazar(yazarad,yazarsoyad) values('Kemal','UYUMAZ') |
31. Biyografi türünü tür tablosuna ekleyiniz.
1 2 3 | insert into tur values('Biyografi') |
32. 10A sınıfı olan ÇAĞLAR ÜZÜMCÜ isimli erkek, sınıfı 9B olan LEYLA ALAGÖZ isimli kız ve sınıfı 11C olan Ayşe Bektaş isimli kız öğrencileri tek sorguda ekleyin.
1 2 3 4 | insert into ogrenci(ograd,ogrsoyad,sinif,cinsiyet) values('Çağlar','Üzümcü','10A','E'),('Leyla','Alagöz','9B','K'),('Ayşe','Bektaş','11C','K') |
33. Öğrenci tablosundaki rastgele bir öğrenciyi yazarlar tablosuna yazar olarak ekleyiniz.
1 2 3 4 5 | insert into yazar(yazarad, yazarsoyad) select top 1 ograd,ogrsoyad from ogrenci order by newid() |
34.Öğrenci numarası 10 ile 30 arasındaki öğrencileri yazar olarak ekleyiniz.
1 2 3 4 | insert into yazar(yazarad, yazarsoyad) select ograd,ogrsoyad from ogrenci where ogrno between 10 and 30 |
35. Nurettin Belek isimli yazarı ekleyip yazar numarasını yazdırınız.(Not: Otomatik arttırmada son arttırılan değer @@IDENTITY değişkeni içinde tutulur.)
1 2 3 4 5 | insert into yazar(yazarad, yazarsoyad) values('Nurettin','Belek') select @@IDENTITY |
UPDATE ÇALIŞMA SORULARI
36. 10B sınıfındaki öğrenci numarası 3 olan öğrenciyi 10C sınıfına geçirin.1 2 3 | update ogrenci set sinif='10C' where ogrno=3 |
1 2 3 | select * from ogrenci where ogrno=3 |
37. 9A sınıfındaki tüm öğrencileri 10A sınıfına aktarın
1 2 3 | update ogrenci set sinif='10A' where sinif='9A' |
1 2 3 | select * from ogrenci where sinif='10A' |
38. Tüm öğrencilerin puanını 5 puan arttırın.
1 2 3 | update ogrenci set puan=puan+5 |
DELETE SORGUSU ÇALIŞMA SORULARI
NOT 1: DELETE sorgusunda dikkat edilmesi gereken en önemli husus şart kısmıdır. şart yazılmazsa silme işlemine tüm kayıtlar dahil edilir.NOT 2: TRUNCATE TABLE komutu sorgu örneklerinin sonunda verilecektir.(Tabloyu boşaltmak için kullanılır. TRUNCATE TABLE TABLOADI)
39. 25 numaralı yazarı silin.
–Not: veritabanı fk ayarlarında delete,update cascade ayarlandığı için ilişkili tabloları otomatik olarak güncellenecek.
1 2 3 | delete from yazar where yazarno=25 |
SELECT …… IS NULL Komutu
Select sorguları içinde değeri null olan kayıtları ararken alanadı=null olarak arama yapılamaz. Null olan alanları aramak için is null ifadesi kullanılır.40. Doğum tarihi null olan öğrencileri listeleyin. (insert sorgusu ile girilen 3 öğrenci listelenecektir)
1 2 3 | select * from ogrenci where dtarih is null |
BİRDEN ÇOK TABLODAN VERİ ÇEKME ÇALIŞMA SORULARI (JOIN KULLANMADAN)
41. Öğrencinin adını, soyadını ve kitap aldığı tarihleri listeleyin.1 2 3 4 | select ograd,ogrsoyad,atarih from ogrenci,islem where ogrenci.ogrno=islem.ogrno |
42. Fıkra ve hikaye türündeki kitapların adını ve türünü listeleyin.
1 2 3 4 5 | select kitap.kitapadi, tur.turadi from kitap,tur where kitap.turno=tur.turno and tur.turadi in ('Hikaye','Fıkra') |
43. 10B veya 10C sınıfındaki öğrencilerin numarasını, adını, soyadını ve okuduğu kitapları listeleyin.
1 2 3 4 5 6 7 | select ogrenci.ogrno,ograd,ogrsoyad,kitapadi from ogrenci,islem,kitap where (sinif='10B' or sinif='10C') and ogrenci.ogrno=islem.ogrno and islem.kitapno=kitap.kitapno |
44. Roman türündeki kitapları okuyan öğrencilerin numarasını, adını, soyadını ve okuduğu kitabın adını listeleyin
1 2 3 4 5 6 7 8 | select distinct ogrenci.ogrno,ograd,ogrsoyad,kitapadi from ogrenci,islem,kitap,tur where ogrenci.ogrno=islem.ogrno and islem.kitapno=kitap.kitapno and kitap.turno=tur.turno and tur.turadi='Roman' |
SQL JOIN ( INNER JOIN ) KULLANIMI ÇALIŞMA SORULARI
45. Öğrencinin adını, soyadını ve kitap aldığı tarihleri listeleyin.1 2 3 4 | select ograd,ogrsoyad,islem.atarih from ogrenci join islem on islem.ogrno=ogrenci.ogrno |
46. Fıkra ve hikaye türündeki kitapların adını ve türünü listeleyin.
1 2 3 4 5 | select kitapadi,turadi from kitap join tur on kitap.turno=tur.turno and tur.turadi in('Hikaye','Fıkra') |
1 2 3 4 5 | select kitapadi,turadi from kitap join tur on kitap.turno=tur.turno where tur.turadi in('Hikaye','Fıkra') |
47. 10B veya 10C sınıfındaki öğrencilerin numarasını, adını, soyadını ve okuduğu kitapları, öğrenci adına göre listeleyin.
1 2 3 4 5 6 7 8 | select ogrenci.ogrno,ograd,ogrsoyad,sinif,kitapadi from ogrenci join islem on ogrenci.ogrno=islem.ogrno join kitap on islem.kitapno=kitap.kitapno where sinif='10B' or sinif='10C' order by ogrenci.ograd |
SQL LEFT JOIN Kullanımı ÇALIŞMA SORULARI
48. Kitap alan öğrencinin adı, soyadı, kitap aldığı tarih listelensin. Kitap almayan öğrencilerinde listede görünsün.1 2 3 4 | select ograd,ogrsoyad,islem.islemno from ogrenci left join islem on islem.ogrno=ogrenci.ogrno |
49. Kitap almayan öğrencileri listeleyin.
1 2 3 4 5 | select ograd,ogrsoyad,islem.atarih from ogrenci left join islem on islem.ogrno=ogrenci.ogrno where islem.atarih is null |
50. Alınan kitapların kitap numarasını, adını ve kaç defa alındığını kitap numaralarına göre artan sırada listeleyiniz.
1 2 3 4 5 6 7 | select kitap.kitapno, kitap.kitapadi,count(*) from islem left join kitap on kitap.kitapno=islem.kitapno group by kitap.kitapadi,kitap.kitapno order by kitap.kitapno |
51. Alınan kitapların kitap numarasını, adını kaç defa alındığını (alınmayan kitapların yanında 0 olsun) listeleyin.
1 2 3 4 5 6 | select kitap.kitapno, kitap.kitapadi,count(islem.islemno) as adet from kitap left join islem on kitap.kitapno=islem.kitapno group by kitap.kitapadi,kitap.kitapno,islem.kitapno order by adet |
52. Öğrencilerin adı soyadı ve aldıkları kitabın adı listelensin.
1 2 3 4 5 | Select * from ogrenci left join islem on islem.ogrno=ogrenci.ogrno left join kitap on islem.kitapno=kitap.kitapno |