BASKENTSECRET DİYE BİR VERİ TABANIMIZ OLSUN . BU VERİTABANIMIZDA AŞAĞIDAKİ GİBİ TABLOLAR BULUNMAKTADIR.
+---------+----------+--------+---------+
|muhasebe | personel | icerik | urunler |
+---------+----------+--------+---------+
PERSONEL TABLOSUNU İNCELEMEYE ALALIM.
personel in içeriğinde aşağıdakiler olsun :
+-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|
|--------------------------------------------|personel|--------------------------------------------|
+-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|
|perno| adı | yas | soyadi | adres |departman |memleket |cinsiyet|giris |medeni |
+-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|
|56 | Nurettin | 46 | Yaman |kızılay |Bilgi İşlem|bolu |e |01.01.2003|bekar |
|45 | secret | 26 | üstün |yenimahalle |mutfak |diyarbakır|b |01.04.2005|bekar |
|67 | fatoş | 26 | asd |siteler |seslendirme|manisa |b |08.01.2007|evli |
|23 | eren | 45 | yalçın |kızılay |pazarlama |yozgat |e |16.10.2002|evli |
|13 | yasin | 18 | velioğlu |siirt |bilgi işlem|şırnak |e |24.12.2003|evli |
+-----+-------+-------+------------+------------+-----------+----------+--------+----------+-------|
myhasebe nin içeriğide aşağıdakiler olsun. :
+-----------+--------+-----------+-------------+
|------------------|muhasebe|------------------|
+-----------+--------+-----------+-------------+
|persicilno | maas | sigorta | kesinti |
|56 | 300 | 27 | 15 |
+-----------+--------+-----------+-------------+
================================================== =========
personel tablosunu listelemek istersek 2 yöntem wardır :
SELECT*FROM personel
SELECT perno,adi,soyadi,adres FROM personel
diyelim listemizi alfabedik sıralı istersek :
SELECT adi,soyadi,FROM personel ORDER BY adi ASC // ASC YERİNE DESC KOYARSAK TERSTEN SIRALAR.
////////////////////////////////////////////////////////////////
şart komutu :
WHERE ( ŞART KOMUTU )
SELECT perno,adi,soyadi,adres FROM personel WHERE adi='nuri'
yaşı 40 dan bykleri getirmek :
SELECT perno,adi,soyadi,yas,FROM personel WHERE yas>40
200 ytl den fazla maas alan kisileri ödenen sigorta miktarına göre sıralayan sql koMutu :
SELECT maas FROM muhasebe WHERE maas>200 ORDER BY sigorta ASC
yaman ailesinden olan çalışanları yaşlıdan gence göre sıralayan sql komut :
SELECT perno,adi,soyadi,yas,adres FROM personel WHERE soyadi="YAMAN" ORDER BY yas DESC
///////////////////////////////////////////////////////////////////
iki veri arasında
BETWEEN (arasında komutu)
SELECT persicilno FROM muhasebe WHERE maas BETWEEN 200 AND 300
18 yaşından büyük , 30 yaşını açmamış personellerimizin adını ve soyadını görüntüleyen sql komutu :
SELECT adi,soyadi, FROM personel WHERE yas BETWEEN 18 AND 30
/////////////////////////////
belirli şartların içerisinde olması
IN (belirli şartların içerisinde yer alması)
örneğin sitelerde yenimallede ve sitelerde oturanların listesini almak istersek
SELECT adi,soyadi FROM personel WHERE adres IN ('kızılay','yenihalle','siteler')
mutfakta pazarlamada ve seslendirmede çalışanalr
SELECT adi,soyadi FROM personel WHERE departman IN ('mutfak','pazarlama','seslendirme')
/////////////////////////////
LIKE ( arama komutu )
ADRESİNİN SONUNDA KIZIALY YAZNALAR
SELECT adi,soyadi FROM personel WHERE adres LIKE '%kızılay'
///////////////////////////////
veri tabanına veri eklemek
INSERT INTO (veri eklemek)
INSERT INTO tablo adı VALUES (alan1 değeri,alan2 degeri,.....)
personel tablosuna sicil numarası 12 ismi recai soyadı demir yaşı 34 adresi batıeknt departmanı bilgi işelm olan kayıt eklemk
INSERT INTO personel VALUES (12,'recai','demir',34,'batıkent','bilgi işlem')
///////////////////////////////
ilişkisel tablolarla çalışmak
HANGİ personelin ne kadar maaş aldığını ad soyad maaş ve sigorta bilgilerini gösteren program
SELECT adi, soyadi, maas, sigorta FROM personel,muhasebe WHERE perno=persicilno
kızılayda oturan yozgat doğumlu personelin ne kadar maaş aldığını gösteren sql komutu
SELECT adi,soyadi,maas FROM personel,muhasebe WHERE memleket='yazgat' AND LIKE '%kızılay%' AND perno=persicilno
bilgi işlem departmanında çalışan personelin adını soyadını maaşını getiren komut
SELECT adi,soyadi,maas FROM personel,muhasebe WHERE departman="bilgi islem" AND perno=persicilno
40 yaşından küçük bilgi işlem veya pazarlama bölümünde çalışan erkek, 200 milyondan fazla maaş alan yozgat doğumlu kızılayda oturan 5 yıldan fazla şirketimizde çalışan bekar ve maaşına on milyondan fazla kesinti yapılan personelerin adını soyadını getiren sql komutu
SELECT adi,soyadi FROM personel,muhasebe WHERE yas<40 AND departman IN ('bilgi işlem','pazarlama') AND cinsiyet='e' AND maas>200 AND memeleket ='yozgat' AND adres LIKE "%kızılay%' AND giris>'12.07.2002' AND medeni='bekar' AND kesinti>10 AND perno=persicilno
///////////////////////////////
tablodan kayıt silmek
DELETE FROM (tablodan kayıt silmek)
DELETE FROM personel // komple siler.
PERSONEL numarası 12 olan kayıdı silen program
DELETE FROM personel WHERE perno=12
şirkette 5 yıldan fazla çalışan işçileri silen program
DELETE FROM personel WHERE giris>'12.07.2002
//////////////////////////////////
veri güncelleme komutu
UPDATE (veri güncelleme)
UPDATE tabloadı SET alanadı1='deger1',alanadı2='deger2'alanadı3='deger 3'....
bütün personelin maaşına 20 ytl kesinti uyguluyoruz.
UPDATE muhasebe SET kesinti=20
btn personelin maaşına % 20 zam yapalım .
UPDATE muhasebe SET maas=maas*1.20
personel sicil nosu 56 olan kaydın ikametgah ı değişmiş. sincan 5. cad no 3 olmuş .
UPDATE personel SET adres='sincam 5.cad. no3' WHERE perno=56
////////////////////////////////
maximum fonksiyonu
en büyük değer.
MAX (EN BÜYÜK değer)
en fazla maaşın ne kdr olduğunu öğrenmek istiyorum
SELECT MAX(maas) from muhasebe
MIN (EN DÜŞÜKJ DEĞER)
SELECT MIN(maas) from muhasebe
//////////////////////////////
TOPLAM DEĞER
SUM (TOPLAM DEĞER)
toplam verilen maas
SELECT SUM(maas) FROM muhasebe
/////////////////////////////
AVG (ORTALAMA)
ortalama verdiğimiz maaş.
SELECT AVG(maas) FROM muhasebe
///////////////////////////
kayıt sayısı
COUNT
KAÇ TANE PERSONEL çalıştııroyuz
SELECT COUNT(*) FROM personel
SELECT (DISTICT kolon adı)
kaç farklı aileye mensup çalışanımız war.
SELECT COUNT (DISTINCT) FROM personel
//////////////////////////////
kaynak :
Sql Öğreniyoruz ... : Başkent Üniversitesi Öğrenci Sitesi
Sql Öğreniyoruz.
8
●2.659