SQL Veri Tabanı Kayıt İşlemleri
Bu yazımızda Microsoft Access veri tabanı ile SQL komutları üzerinden tablo işlemleri yapacağız. SQL cümleleri ile tablolardan kayıt seçme, kayıt silme, kayıt güncelleme gibi tablo işlemleri yapacağız.
Öncelikle Access veri tabanında oluşturduğumuz tabloların veri tipleri ve tablo kayıtlarının neler olduğunu aşağıdaki resimlerde gösterelim.
1- Tur isimli tablomuzun veri türleri aşağıdaki gibidir;
2- Tur isimli tablomuzda bulunan kayıtlar aşağıdaki gibidir;
3- Personel isimli tablomuzda bulunan veri türleri aşağıdaki gibidir;
4- Personel isimli tablomuzda bulunan kayıtlar aşağıdaki gibidir;
Tablolarla İlgili SQL Soru Cümleleri ve Cevapları
1. Sql ile Personel isimli tabloyu oluşturan SQL cümlesini yazınız. (Alanlar: pno-int, padi-varchar(30), psadi-varchar(30), pasker-yesno, pmaas-money, pdtarihi-datetime)
CREATE TABLE PERSONEL
(
pno int PRIMARY KEY,
padi varchar(30),
psadi varchar(30),
pasker yesno,
pmaas money,
pdtarihi datetime
)
2. Personel tablosuna pdyerino alanlarını int veri türünde ekleyen SQL cümlesini yazınız.
ALTER TABLE personel
ADD COLUMN
pdyerino int
3. Personel tablosunu silen SQL cümlesini yazınız.
DROP TABLE personel
4. Personel tablosundaki tüm kayıtları listeleyen SQL cümlesini yazınız.
Select *
form personel
5. Personel tablosundaki personel adı ve personel soyadını listeleten SQL cümlesini yazınız.
Select padi,psadi
from personel
6. Personel tablosundaki personelin adı ve soyadı alanlarının istediğimiz gibi yazdıran SQL cümlesini yazınız.
Select padi as ‘Adı’,
psadi as ‘Soyadı’
from personel
7. Personel tablosundaki personel adı ve soyadını birleşik olarak ve alan adını Adı ve Soyadı olarak gösteren SQL cümlesini yazınız.
Select padi+ ” ” +psadi as ‘Adı ve Soyadı’
from personel
8. Personel tablosundan maaşı 3000 üzeri olan kişileri adı, soyadı, maasını listeleten SQL cümlesini yazınız.
Select padi,psadi,pmaas
from personel
where pmaas>3000
9. Personel tablosundan maaşı 2000 ve 3000 arasında olanların adı,soyadı ve maaşını listeleten SQL cümlesini yazınız.
Select padi,psadi,pmaas
from personel
where pmaas>=2000 and pmaas<=3000 veya Select padi,psadi,pmaas from personel where pmaas between 2000 and 3000
10. Personel tablosundan personelin adı Ahmet olanların adı, soyadı, doğum tarihi ve maaşını listeleten SQL cümlesini yazınız.
Select padi,psadi,pmaas,pdtarihi from personel where padi=”Ahmet”
11. Personel tablosundan askerliğini yapmış veya maaşı 4000 üzeri olanların adını, soyadını, maaşını ve doğum tarihini listeleten SQL cümlesini yazınız.
Select padi,psadi,pmaas,pdtarihi
from personel
where pasker=true or pmaas>4000
12. Personel tablosunda isminin baş kısmında “ma” geçenlerin adı ve soyadını listeleten SQL cümlesini yazınız.
Select padi,psadi
from personel
where padi like “ma*”
13. Personel tablosunda isminin son kısmında “ma” geçenlerin adı ve soyadını listeleten SQL cümlesini yazınız.
Select padi,psadi
from personel
where padi like “*ma”
14. Personel tablosunda isminin içerisinde “ma” geçenlerin adı ve soyadını listeleten SQL cümlesini yazınız.
Select padi,psadi
from personel
where padi like “*ma*”
15. Personel tablosundaki kayıtların adı, soyadı ve maaşını maaşa göre büyükten küçüğe listeleten SQL cümlesini yazınız.
Select padi,psadi,pmaas
from personel
order by pmaas asc
16. Personel tablosunuda adı, soyadı, maaşını maaşa göre büyükten küçüğe listeleten SQL cümlesini yazınız.
SELECT padi,psadi,pmaas
from personel
order by pmaas desc
17. Personel tablosundan öncelikli olarak ada göre sonra soyada göre küçküten büyüğe listeletip personelin adı,soyadı,maaşını listelen SQL cümlesini yazınız.
SELECT padi,psadi,pmaas
from personel
order by padi asc, psadi asc
18. Personel tablosunudaki kayıtların sayısını listeleten SQL cümlesini yazınız.
Select count(*)
from personel
19. Personel tablosun doğum yeri nosu 60 olanların kayıt sayısını gösteren SQL cümlesini yazınız.
Select count(*)
from personel
where pciyerino=60
20. Personel tablosundan personel adını küçük personel soyadını büyük harflerle yazdıran SQL cümlesini yazınız.
select Icase(padi), ucase(psadi)
from personel
21. Personel tablosundan psadi içerisinden 2. karakterden başlayıp sıradan 4 karakter seçen SQL cümlesini yazınız.
select mid(psadi,2,4)
from personel
22. Personel tablosundan her kayıtta yer alan personelin soyadlarının kaç karakterden oluştuğunu gösteren SQL cümlesini yazınız.
select len(psadi)
from personel
23. Personel tablosunda personelin adı soyadı ve maaşı gsöteren maaşıda virügülden sonra 0 basamak olarak gösteren SQL cümlesini yazınız.
select padi,psadi,round(pmaas,0)
from personel
24. Bugünün tarihini gösteren SQL cümlesini yazınız.
select now()
25. Belirtilen tarih içinden günü seçen SQL cümlesini yazınız.
SELECT Day(#11/22/2003#);
26. Belirtilen tarih içindeki ayı seçen SQL cümlesini yazınız.
SELECT Month(U11/22/2003U);
27. Belirtilen tarih içerisindeki yılı gösteren SQL cümlesini yazınız.
SELECT Year (#11/22/2003#);
28. Personel tablosundaki maaşların içinden en küçük olanı gösteren SQL cümlesini yazınız.
select min (pmaas)
from personel
29. Personel tablosu içerisindeki dogum yeri nosu 58 olanlar içerisinde en yüksek maaşı göstren SQL cümlesini yazınız.
select max(pmaas)
from personel
where pdyerino=58
30. Personel tablosunda ismi Ahmet olanların maaşının ortalamasını veren SQL cümlesini yazınız.
select avg(pmaas)
from personel
where padi=”Ahmet”
31. Personel tablosu içerisinde askerlik yapanların maaşlarının toplamını gösteren SQL cümlesini yazınız.
select sum(pmaas)
from personel
where pasker=true
32. Personel tablosundaki doğum yeri numaralarına göre gruplayarak doğum yeri nodan kaç adet olduğunu gösteren SQL cümlesini yazınız.
SELECT pdyerino, count(*)
FROM personel
GROUP BY pdyerino;
33. Personel tablosundaki verileri adı ahmet doğum yeri numaralarına göre gruplayarak sayısını gösteren SQL cümlesini yazınız.
SELECT pdyerino, count(*)
FROM personel
WHERE padi=”Ahmet”
GROUP BY pdyerino;
34. Personel tablosundaki doğum yerinosuna göre gruplayrak ve gruplananlar içerisindende ortalama maaşı 3200 üzeri olanların doğum yerino su ve ortalama maaşı gösteren SQL cümlesini yazınız.
select pdyerino,avg(pmaas)
from personel
group by pdyerino
having avg(pmaas)>3200
35. Personel tablosundaki Doğum yerı adı tokat olan personelın adı ve soyadın ı listeleten SQL cümlesini yazınız.
select personel.padi, personel.psadi
from personel,dogumyeri
where personel.pdyerino=dogumyeri.pdyerino and dogumyeri.pdadi=”TOKAT”
36. Personel tablosundaki personelin adı,soyadı ve doğum yerinin adi gösteren SQL cümlesini yazınız.
select personel.padi,
personel.psadi,dogumyeri.pdadi
from personel,dogumyeri
where personel.pdyerino=dogumyeri.pdyerino
37. Personel tablosundaki personelin adı,soyadı ve türünün ne olduğunu (işçi, mühendis gibi) gösteren SQL cümlesini yazınız.
select personel.padi,personel.psadi,tur.ptadi
from personel,tur
where personel.pturno=tur.pturno
38. Personel tablosundaki Personelin türü işçi olanların adını ve soyadını gösteren SQL cümlesini yazınız.
select personel.padi,personel.psadi,tur.ptadi
from personeI,tur
where personel.pturno=tur.pturnoo and tur.ptad i=”İŞÇİ”
39. Personel tablosundaki personel tablosundan doğum yeri 60 veya 58 olanlardan personelin adı ve soyadını gösteren SQL cümlesini yazınız.
select padi,psadi
from personel
where pdyerino in (60,58)
40. Personel tablosunda en yüksek maaş alan kişinin adı ve soyadını gösteren SQL cümlesini yazınız.
select padi,psadi
from personel
where pmaas = (select max(pmaas) from personel)
41. Personel tablosundaki en yüksek maaş alan personelin doğum yerinin adını gösteren SQL cümlesini yazınız.
select dogumyeri.pciacii
from ciogumyeri,personel
where personel.pmaas = (select max(pmaas) from personel) and dogumyeri.pdyerino=personel.pdyerino
42. Doğum yeri tablosunda alanlara sırasıyla 61 ve “TRABZON” değerlerini ekleyen sorgu
insert into dogumyeri
values (61,”TRABZON”)
43. Personel tablosunda personel nosu 3 olan kişinin adı Mehmet olarak güncelleyen SQL cümlesini yazınız.
update personel
set padi=”Mehmet”
where pno=3
44. Personel tablosundaki doğum yeri 60 olanların maaşlarını 3000 olarak güncelleyen SQL cümlesini yazınız.
update personel
set pmaas=3000
where pdyerino=60
45. Personel tablosun da yer alan doğumyeri İstanbul olan larin maaşların 14000 olarak Güncelleyen SQL cümlesini yazınız.
update personel,dogumyeri
set personel.pmaas=4000
where dogu myeri.pdyeri no=personel.pdyeri no and dogumyeri.pdadi=”İSTAN BUL”
46. Personel tablosundaki 4 numaralı kaydı silen SQL cümlesini yazınız.
delete from personel
where pno=4
47. Personel tablosundan doğum yerı istanbul olanların kaydını silen SQL cümlesini yazınız.
delete from personel
where pdyerino=(select pdyerino from dogumyeri where pdadi=”İSTAN BUL”)
48. Doğum yeri tablosuna pdyerino (doğum yeri numarası 32) pdadi (doğum yeri adına)”ISPARTA” verilerini ekleyen SQL cümlesini yazınız.
insert into dogumyeri (pdyerino,pdadi)
values (32,”ISPARTA”)
49. Doğum yeri tablsundaki doğum yeri adı “ısparta” olan kaydı silen SQL cümlesini yazınız.
delete from dogumveri
where pdadi= “ISPARTA”
50. Meslek adı “Memur” olanların doğum yeri adlarını gösteren SQL cümlesini yazınız.
SELECT dogumyeri.pdadi
from dogumyeri,meslek,personel
where meslek.madi=”Memur” and personel.pdyerino=dogumyeri.pdyerino and personel.mno=meslek.mno
51. Personel tablosunda personel no’su (pno=1) olan kişilerin mesleğinin adı ve doğum yerinin adını yazdıran SQL cümlesini yazınız.
SELECT meslek.madi,dogumyeri.pdadi
from dogumyeri,meslek,personel
where personel.pno=1 and personeLpdyerino=dogumyeri.pdyerino and personeLmno=meslek.mno
52. Meslek adları “Memur” veya “Müdür” olanların adları ve soyadlarını gösteren SQL cümlesini yazınız.
SELECT personel.padi,personel.psadi, meslek.madi
from meslek,personel
where personel.mno=meslek.mno and meslek.madi in (“Memur”,”Müdür”)
53. En düşük maaşa göre sıraladıktan sonra ki ilk kişinin adını gösteren SQL cümlesini yazınız.
SELECT top 1 padi
from personel
order by pmaas asc
<< Önceki Yazı
Sonraki Yazı >>