SQL Sorularından Veritabanı Örnek Sınav

Bu örnek sınav ile SQL Server veritabanından SELECT, INSERT, UPDATE gibi temel komutların kullanımı, WHERE ifadelerinde LIKE kalıbının kullanımı, SUM,COUNT gibi grup fonksiyonların kullanımı ve birden fazla tablonun birleştirilmesi işlemini soracağız. Burada biraz gelişmiş bir örnek olarak SUBSTRING() fonksiyonunu kullanan, genelde programlama ile uğraşanların aşina oldukları bir fonksiyonu da 3. soruda sorduk. 

Önce personeldb adında bir veritabanı oluşturuyoruz. Ardından tblpersonel, tbldepartman ve tblmaas tablolarını aşağıdaki şekilde tanımlıyoruz. 




SORULAR

1) E-maili verilen bir personelin şifresini bulunuz.(e-postaların tekrarlanmadığı kabul edilecektir.)

2) Soyadında “Can” geçen tüm personeli listeleyiniz.

3) Telefon numarası 0212 ile başlayan bütün numaraları 0216 olarak değiştiriniz.

4) Departman tablosuna  ”Pazarlama”  departmanını ekleyiniz.

5) TCKimlik Numarası  ”12345678912” olan kişinin Adını ve Soyadını “Ali Can” olarak değiştiriniz.

6) TC Kimlik Numarası verilen bir  personelin İki tarih arasında(örneğin 01.01.2017-31.12.2017) aldığı
toplam maaşı listeleyiniz.

7) Personelin Adını, Soyadını, Departmanını ve Maaşını listeleyiniz.

8) Departmanları toplam maaşlarına göre büyükten küçüğe listeleyiniz.



9) Her departmanda kaç kişi çalıştığını DEPARTMAN, ÇALIŞAN SAYISI şeklinde listeleyiniz.


CEVAPLAR

 
1) SELECT ADI, SOYADI,SIFRE
FROM tblpersonel
WHERE EPOSTA='oguzhantas@gmail.com'
 
2) SELECT * FROM tblpersonel WHERE ADI LIKE '%can%'

3) UPDATE tblpersonel SET TELEFON='0216'+SUBSTRING(TELEFON,5,11)
WHERE TELEFON LIKE '0212%'

4) INSERT INTO tbldepartman(DEPARTMAN) VALUES('Pazarlama')

5) UPDATE tblpersonel SET ADI='Ali',SOYADI='Can'
WHERE TCKIMLIKNO='12345678912'

6) SELECT SUM(MAAS) FROM tblpersonel p, tblmaas m
WHERE p.personelID=m.personelID
AND m.TARIH>='2017-01-01' AND m.TARIH<='2017-12-31'
AND p.TCKIMLIKNO='12345678912'

7) SELECT p.ADI, p.SOYADI,m.MAAS, d.DEPARTMAN
FROM tblpersonel p,  tblmaas m, tbldepartman d
WHERE p.personelID = m.personelID
AND p.departmanID= d.departmanID

8) SELECT d.DEPARTMAN, SUM(m.MAAS)
FROM tblmaas m, tbldepartman d, tblpersonel p
WHERE p.personelID = m.personelID
AND p.departmanID= d.departmanID
GROUP BY d.DEPARTMAN
ORDER BY SUM(MAAS) DESC

9) SELECT d.DEPARTMAN, COUNT(p.personelID) AS 'Çalışan Sayısı'
FROM tblpersonel p, tbldepartman d
WHERE  p.departmanID= d.departmanID
GROUP BY d.DEPARTMAN


Başarılar dilerim.
Mutlu kodlamalar,
Oğuzhan TAŞ
Kasım, 2019
 

 

 




Bookmark and Share