DML Başlangıç

Bu yazı ile ilgili SirketDB dosyasını indirip Restore etmeyi unutmayınız.
https://www.fethimurat.com/blog/wp-content/uploads/2010/08/SirketDB.zip

-- dml (data manuplation language)
-- insert => ekle
-- delete => siler
-- upate  => güncelle
-- select => okumak

-- departman ekleyelim (yorum satırı)
insert into Departmanlar(Departman)
values('Departman1')

-- personel ekleyelim
insert into Personeller
(Ad,Soyad,KayitTarihi,Maas,DepartmanID)
values('Omer','Behçet','10.10.2010',47.54,1)

select * from Personeller

-- sadece ad ve soyad kaydedelim
insert into Personeller(Soyad,Ad)
values ('kabze','hasan')

-- maas değeri olmayan kayıtların
-- maaşını 3 yapalım(değer ataması)
-- veri güncellemesi
update Personeller set Maas=3
where Maas is null

-- bugün başlayıp yarın bitecek ve tanımı "yalandan proje" olacak bir proje kaydı ekleyiniz...
-- lütfen projeler tablosuna üstteki istek için bir insert yazınız
insert into Projeler
values('yalandan proje',GETDATE(),DATEADD(DD,1,GETDATE()))

select * from Projeler

-- ProjeID değeri 1 olan projenin tanımını "BilgeAdam projesi" olarak değiştirin
update Projeler
set ProjeTanimi='BilgeAdam Projesi'
where ProjeID=1

select * from Personeller

-- Personeller tablosunda herhangi bir departmana bağlı olmayan personelleri 1 nolü departmana bağlayınız
update Personeller
set DepartmanID=1
where DepartmanID is null

-- Ad değeri Om ile başlayan personelleri silin
-- format : delete from tablo (varsa) where Falan=deger

delete from Personeller
where Ad like 'om%'

select * from Projeler
select * from Personeller

-- Soyadı ka ile başlayan personelin adını getirelm
select Ad from Personeller
where Soyad like 'ka%'

-- departmanID si 1 olan personelin adını ve soyadını getirin
select Ad,soyad from Personeller
where DepartmanID=1

-- Maaşı 500 ile 3000 arasında olan personellerin Adını ve soyadını tek kolon olarak ve maaşını getirin
select Ad+' '+Soyad, Maas from Personeller
--where Maas>500 and Maas<3000
where Maas between 500 and 3000

-- personeller tablosunda adının 2. harfi a olan personellerin adını ve personelID sini getirin
select
cast(PersonelID as varchar(3))+' '+Ad as 'Personel'
from Personeller
where Ad like '_a%'

-- Maaşı 10000 den büyük olan ve departmanID değeri 3 olan personelin adını maaşını ve departmanID değerini getirin
select Ad,Maas,DepartmanID from Personeller
where Maas>10000 and DepartmanID=3

-- yazilim departmanındaki çalışanların adını ve soyadını listeleyin
select Ad,Soyad from Personeller
where DepartmanID=
(
   select DepartmanID from Departmanlar
   where Departman ='Yazilim'
)

-- Proje Tanımım Bil ile başlayan projeye ismi il ile başlayan personeli atayın
insert into Personel_Proje
values
(
   (
     select ProjeID from Projeler where
     ProjeTanimi like 'Bil%'
   )
   ,
   (
      select PersonelID from Personeller where
      Ad like 'il%'
   )
)

-- Proje tanımı içinde "ada" geçen projelerin proje tanımlarını ve başlangıc tarihlerini ve toplam kaç gün sürdüğünü(datediff) gösterin
select ProjeTanimi,BaslangicTarihi,BitisTarihi,DATEDIFF(dd,BaslangicTarihi,BitisTarihi)
from Projeler