SQL Çalışma Soruları

sdkbyrm

olwα.ɴeт
Üyelik Tarihi
23 Aralık 2020
Mesajlar
813
Beğeniler
1
Puanı
3
Ticaret: 0 / 0 / 0
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.

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
–sorguyu görüntülemek için yazıldı


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'
–sorguyu görüntülemek için yazıldı


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')
yada


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
 
Üst Alt