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
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
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'
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
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?