Veri Tabanı

Create Table Personel
(
Personel_No Number(10),
Personel_Adi VarChar2(20),
Personel_Gorevi VarChar2(20),
Persone_Yoneticisi Number(10),
Personel_Giris_Tarihi Date,
Personel_Ucret Number(5),
Personel_Komisyon Number(5),
Personel_Bolum_No Number(2)
)
Create Table Bolum
(
Bolum_No Number(2),
Bolum_Adi VarChar2(15),
Bolum_Konum VarChar2(15)
)
select * from bolum;
create Table Test
(
Personel_No number(10),
Personel_Adi Varchar2(50) not null
)
Desc Test
Alter Table Test
Add(Personel_Adres varchar2(50))--yeni bir kolon eklemek için
Alter Table Test
Modify(Personel_Adres varchar2(70))--Kolonun uzunluğunu değiştirmek için
rename Test to Yeni_Test--Tabloyu yeniden adlandırmak
Desc Yeni_Test
Drop Table Test--Tabloyu silmek için
Delete  Test--100 kayıt var sildiğinizde 100 kayıtı siler işgal ettiği yer hala durur.
--Delete ile yapılan işlemler sonradan geri alınailir.
Truncate Table Test--Tümünü siler ve kapladığı alanıdı sıfırlar.
---------------------------------------------------------------------------------------------------------------------------------------------------------DERS2--------------------------------------------------------------------------------------------------------------------------------------------------------------------


Create Table DepBolum
(
Bolum_No Number(10),
Bolum_Adi VarChar2(20),
Bolum_Konumu VarChar2(20)
)
select * from DepBolum
delete  DepBolum--delete diskteki yerini silmiyor. Yeri kalıyor hafızada aslında duruyor.
truncate DepBolum--truncate disketeki yerinide sıfırlar.
desc Personel

Insert into DepBolum (Bolum_No,Bolum_Adi,Bolum_Konumu) values (10,'Muhasebe','Kadıköy');
Insert into DepBolum (Bolum_No,Bolum_Adi,Bolum_Konumu) values (20,'Satış','Ankara');
Insert into DepBolum (Bolum_No,Bolum_Adi,Bolum_Konumu) values (30,'Ar-ge','İzmir');
Insert into DepBolum (Bolum_No,Bolum_Adi,Bolum_Konumu) values (40,'Personel','Kadıköy');
Insert into DepBolum (Bolum_No,Bolum_Adi,Bolum_Konumu) values (50,'Üretim','Gebze');
Insert into DepBolum (Bolum_No,Bolum_Adi,Bolum_Konumu) values (60,'Reklam','Kadıköy');
Insert into DepBolum (Bolum_No,Bolum_Adi,Bolum_Konumu) values (70,'Eğitim','Kadıköy');

Create Table Personel
(
Personel_No Number(10),
Personel_Adi VarChar2(20),
Personel_Gorevi VarChar2(20),
Persone_Yoneticisi Number(10),
Personel_Giris_Tarihi Date,
Personel_Ucret Number(5),
Personel_Komisyon Number(5),
Personel_Bolum_No Number(2)
)
Create Table DepPersonel
(
Personel_No Number(10),
Personel_Adi VarChar2(20),
Personel_Gorevi VarChar2(20),
Persone_Yoneticisi Number(10),
Personel_Giris_Tarihi Date,
Personel_Ucret Number(10),
Personel_Komisyon Number(10),
Personel_Bolum_No Number(2)
)

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (101,'Burak','Müdür',NULL,'03/15/1970',7000,NULL,'10');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (105,'Begüm','Şef',101,'04/21/1980',5000,NULL,'10');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (110,'Dilay','Şef',101,'11/11/1990',5000,NULL,'20');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (120,'Selin','Memur',105,'09/12/1991',3000,NULL,'10');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (130,'Sezin','Memur',110,'03/01/1997',2500,NULL,'20');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (130,'Sezin','Memur',110,'03/01/1997',2500,NULL,'20');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (140,'Dilara','Pazarlama',110,'07/02/1999',2700,500,'20');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (150,'Aybike','Şef',101,'01/01/2000',5100,NULL,'40');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (155,'Ayşe','Memur',150,'03/22/2000',2500,NULL,'40');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (160,'Ahmet','Şef',101,'03/02/1990',2500,NULL,'30');

Insert into DepPersonel (Personel_No,Personel_Adi,Personel_Gorevi,Persone_Yoneticisi,Personel_Giris_Tarihi,Personel_Ucret,Personel_Komisyon,Personel_Bolum_No) values (200,'Ali','Memur',160,'02/03/1995',2350,NULL,'30');


select * from DepPersonel order by Personel_No

select  personel_adi,Personel_Gorevi,Personel_Giris_Tarihi from deppersonel order by personel_adi

select * from DepBolum order by Bolum_no

select Personel_Adi,12*Personel_Ucret,Personel_Ucret from DepPersonel order by Personel_Ucret

select Personel_Adi,Personel_Ucret,Personel_Ucret/225 from DepPersonel order by Personel_Ucret

select Personel_Adi,Personel_Ucret,Personel_Ucret*1.10 from  DepPersonel order by Personel_Ucret

select Personel_Adi,(Personel_Ucret+100)*12 from DepPersonel order by Personel_Ucret

select Personel_Adi As "Personel Adı",Personel_Ucret+Personel_Komisyon as "Toplam Ücret" from DepPersonel order by Personel_Ucret



select Personel_Adi||'-'||Personel_Gorevi from DepPersonel order by Personel_Ucret


select  Personel_Adi||' '||Personel_Ucret||' '||'TL ücret alıyor'  from DepPersonel order by personel_adi

select distinct Personel_Gorevi  from DepPersonel --görevi olanları tek satıra indirir.

---------------------------------------------------------------------------------------------------------------------------------------------------------DERS3--------------------------------------------------------------------------------------------------------------------------------------------------------------------


select distinct Personel_Gorevi  from DepPersonel--Tekrar olanları önler

select Personel_Adi,Personel_Ucret ,Personel_Ucret*1.50 from  DepPersonel order by Personel_Ucret--Her personelin ücretine yüzde 50 zam

-----WHERE----
select Personel_Adi,Personel_Gorevi from DepPersonel where Personel_Gorevi='Memur'-- Görevi memur olanları listelemek için

select Personel_Adi,Personel_Gorevi from DepPersonel where Personel_Gorevi!='Memur'-- Görevi memur olmayanları listelemek için

select Personel_Adi,Personel_Ucret from DepPersonel where Personel_Ucret <3000--Personel ücretleri 3000 den küçük olanları listelemek için

--Between.ALTSINIR..AND .UST SINIR.... arasında
--İN(liste)---İçindeki değerlerle karşılaştırma
--like--Bir katarla karşılaştırma
--string--Katar
--is null --bir null değerle karşılaştırma işlemleri

select Bolum_No, Bolum_Adi from DepBolum where Bolum_No between 10 and 30;---10 ile 30 arasındaki bölümler

select Personel_Adi, Personel_Bolum_No from DepPersonel  where Personel_Bolum_No between 10 and 30--10 ile 30 bölümlerinde çalışan personller.

select Personel_Adi,Personel_Ucret from DepPersonel where Personel_Ucret between 3000 and 5000;--3000 ile 5000 arasında alanlar

select Personel_Adi,Personel_Ucret,Personel_Ucret*12 as "TOPLAM UCRET" from DepPersonel where Personel_Ucret between 3000 and 5000;-- 3000 ile 5000 arasında alanların yıllık ücreti

select Personel_Adi, Personel_Bolum_No from DepPersonel where Personel_Bolum_No in('10','20')

select Personel_Adi ,Personel_Gorevi  from DepPersonel where Personel_Gorevi in('Şef','Memur');--Şef veya memur olanları şeciyoruz

select Personel_Adi from DepPersonel where Personel_Adi like 'A%'--Personel Adi birşeye başlayıp birşeyle biten

select Personel_Adi from DepPersonel where Personel_Adi like '_y%'--2. harfi y olanları verir.

select Personel_Adi,Personel_Komisyon from DepPersonel where Personel_Komisyon is null--Komisyonu null olanlar

select Personel_Adi,Personel_Komisyon from DepPersonel where Personel_Komisyon is not null--Komisyonu null olmayanlar

--MANTIKSAL OPERATORLER--

select Personel_Adi,Personel_Ucret from DepPersonel where Personel_Ucret>2000 and Personel_Gorevi='Memur'--Ucreti 2000 den büyük ve görevi memur olanlar

select Personel_Adi,Personel_Bolum_No,Personel_Gorevi from DepPersonel where Personel_Bolum_No in('10','20','40') and Personel_Gorevi='Memur'--And kulanımı

select Personel_Adi,Personel_Ucret from DepPersonel where Personel_Ucret<3000 or Personel_Ucret>5000;--Ücreti 3000 den küçük 5000 den büyük olanları listelemek için

select Personel_Adi,Personel_Komisyon,Personel_Gorevi from DepPersonel where Personel_Komisyon is not null or Personel_Gorevi='Memur'

select Personel_Adi,Personel_Gorevi from DepPersonel where Personel_Gorevi!='Memur' and Personel_Gorevi!='Şef' and Personel_Gorevi!='Müdür'


select Personel_Adi,Personel_Gorevi from DepPersonel where Personel_Gorevi not like'Şef'--Görevi şef olmayanları listelemek için

--1Karşılaştıra 2 not 3 and 4 or

select Personel_Adi,Personel_Gorevi,Personel_Ucret from DepPersonel where (Personel_Gorevi='Memur' or Personel_Gorevi='Şef') and Personel_Ucret>2500

select Personel_Adi,Personel_Ucret from DepPersonel order by Personel_Ucret asc

select Personel_Adi,Personel_Ucret from DepPersonel order by Personel_Ucret desc

select Personel_Adi,Personel_Ucret,Personel_Gorevi from DepPersonel where Personel_Gorevi='Memur' order by Personel_Ucret desc

select Personel_Adi,Personel_Giris_Tarihi from DepPersonel where Personel_Bolum_No=10 and Personel_Gorevi='Memur' order by Personel_Giris_Tarihi

select Personel_Adi,Personel_Giris_Tarihi from DepPersonel where Personel_Giris_Tarihi>'01/01/2000' and Personel_Giris_Tarihi<'01/01/2006' order by Personel_Giris_Tarihi

select Personel_Adi,Personel_Ucret*12 as toplamucret from DepPersonel order by toplamucret desc
------------------------------------------------------------------------------------------------------------------------------------------------DERS 4----------------------------------------------------------------------------------------------------------------------------------------------------------------------------


--Personeldeki isimlerin büyük harfe çevrilmesi--
--fonksiyon adi(sütunlar ,argümanlar)
--sayısal
--tarih
--karakter
--dönüştürme
--genel fonkisyonlar vardır.

--karekter
--lower(sütünlar)--küçük harfe çevirir.
--upper(sütünlar)--büyük harflere çevirir.
--INITCAP-- baş harflerini büyük yazmak için
--CONCAT(sütünlar)ad soy ad birleşik yazmak gibi
--SUBSTR(sütün,m,n)--bir katarın içinden m pozizyondan itibaren n karekterden oluşan bir katar oluşturur.
--LENGTH(sütün)--sütün uzunlukları

select Personel_Adi from DepPersonel

select upper(Personel_Adi ) as "PERSONEL ADI" from DepPersonel--personel isimlerini büyük harf ile almak için

select lower(Personel_Adi) as "PERSONEL ADI" from DepPersonel

select Personel_Adi,LENGTH(Personel_Adi) as "İSİM UZUNLUĞU" from DepPersonel--her personelin isim uzunluğunu bulmak için

select CONCAT(Personel_Adi,Personel_Gorevi) from DepPersonel--birleşik yazmak

select SUBSTR(Personel_Adi,1,3) from DepPersonel--isimlerin 1 karekterden itibaren ilk üç karekterini almak için

--SAAYISAl FONKİSYONLAR
--ROUND(sütün n)--kesip yuvarlatarak alır.
--TRUNC(sutun,n)-- n haneden itibaren kesip alır, yuvarlamaz
--MOD(m,n)



select Personel_Adi as "PERSONEL ADI",Personel_Ucret/225 as "SAAT ÜCRETİ", ROUND (Personel_Ucret/225,1) as "ROUND İLE", TRUNC (Personel_Ucret/225,1) as "TRUNC İLE"  from DepPersonel

select 5*4 from DUaL

select mod(10,3) from  DUAL--TABLO olmadan hesap makinası oalrka kullanmak istediğimizde

select MOD(Personel_Ucret,225) from DepPersonel--Aylık ücreti 225 böldüğümüzde kalanı bulmak için


--TARİH_FONKSİYONLARI
--Month_Beetween(tarih 1,tarih 2)
--ADD_MONTHS(tarih,n) belli bir tarihe şu kadar ay  eklendiğinde hangi güne ulaşılır.
--NEXT_DAY(tarih,'gun')
--LAS_DAY--AYın son gününün hangi gün olduğuna

select sysdate from DUAL--Bugünün tarihini çekmek için

select ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0) from DepPersonel --personellerin işe giriş tarihlerinde itibaren kaç ay geçtiğini bulmak için kullanılır.

select Personel_Adi, ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0) as Calisanlar from DepPersonel
where ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0)>200 order by ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0) desc-- 200 aydan fazla çalışanların listesi

select Personel_Adi,ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0) as Calısanlar from DepPersonel
where Personel_Bolum_No in(10,30)and ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0)>200 -- 10 ve 30 numaralı bölümlerde çalışan ve 200 aydan fazla çalışanlar

--İşe girişinden bu yana 200 ay ve 10 ve 30 bölümlerde çalışanlar ay göre sırala

select Personel_Adi,ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0) as Calisanlar from DepPersonel
where Personel_Bolum_No in(10,30)and ROUND(MONTHS_BETWEEN(sysdate,Personel_Giris_Tarihi),0)>200 order by Calisanlar

select Personel_Giris_Tarihi, ADD_MONTHS(Personel_Giris_Tarihi,3) from DepPersonel--işe girişten itibaren 3 ay sonranın tarihlerini bulmak için

select Personel_Giris_Tarihi,Last_Day(Personel_Giris_Tarihi) as "SON GÜNÜ" from DepPersonel--Personelin işe girdiği ayın son günü hangi güne denk geliyor.

--Dönüştürme Fonksiyonları
TO_CHAR(tarih,'biçimlendrime ifadesi')
TO_NUMBER(katar,'""')
TO_DATE(katar,'""')

yyyy
YEAR
MM
MONTH
DD
DY
DAY

AM,PM
HH
MI
SS

select Personel_Adi,TO_CHAR(Personel_Giris_Tarihi,'MM/YY') from DepPersonel--Personelin hangi yıl hangi ayda işe girdiğini bulmak için

select Personel_Adi,TO_CHAR(Personel_Giris_Tarihi,'MM/YYYY') from DepPersonel--Personelin hangi yıl hangi ayda işe girdiğini bulmak için

select Personel_Adi,TO_CHAR(Personel_Giris_Tarihi,'DAY') as " İŞE GİRİŞ" from DepPersonel--Personelin hangi gün işe girdiğini bulmak için

select Personel_Adi,TO_CHAR(Personel_Giris_Tarihi,'SS') as " İŞE GİRİŞ" from DepPersonel--Saat bilgisini bulmak için

select TO_CHAR(SYSDATE,"HH:MI") from DUAL--PeNCERE AÇMAK İÇİN

select TO_CHAR(SYSDATE,'HH:MI') from DUAL--saat öğrenmek için

select TO_CHAR(Personel_Ucret,'$9,999') from DepPersonel -- Doalr cinsinden almak için



select To_Date(sysdate,'YYYY/MM/DD') from DepPersonel

select Personel_Ucret,Personel_Komisyon,Personel_Ucret+Personel_Komisyon from DepPersonel

select Personel_Ucret,Personel_Komisyon,Personel_Ucret+NVL(Personel_Komisyon,0) from DepPersonel--komisyonlar boş olsa bile toplama yapmak için

--DECODE if else yerine kullanılır.
--DECODE (Sutun,kosul1,sonuc1,
kosul2,sonuc2
);


select Personel_Adi,Personel_Gorevi,Personel_Ucret,DECODE(Personel_Gorevi,'Müdür',Personel_Ucret*1.20,
                                                          'Şef',Personel_Ucret*1.15,
                                                           'Memur',Personel_Ucret*1.10,
                                                            Personel_Ucret*1.05) from DepPersonel
-----------------------------------------------------------------------------------------------------------------------------------------------------DERS5------------------------------------------------------------------------------------------------------------------------------------------------------------------------


select round(avg(Personel_Ucret),2) from DepPersonel--ortalama ucreti bulmak için

--sum toplama işlemleri için

select sum(Personel_Ucret) as "Ücretler Toplamı" from DepPersonel--ücretlerin toplamını bulmak için

--Adı A ile başlayanların toplamı
select sum(Personel_Ucret) as "A ile başlayanların Toplamı" from DepPersonel where Personel_Adi like 'A%'

--Adı 5 akrekterden fazla olanların ücretleri toplamı
select sum(Personel_Ucret) from  DepPersonel where length(Personel_Adi)>5

--10,20,30 bölümlerinde çalışan personelin ücret toplamları
select sum(Personel_Ucret) from DepPersonel where Personel_Bolum_No in(10,20,30)

STDDEV()--standart sapma

select round(STDDEV(Personel_Ucret),2) from DepPersonel--standart sappmayı hesaplamak için

VARIANCE--varyans standart sapmanın karesi

select round(STDDEV(Personel_Ucret),2) as "STANDART SAPMA",VARIANCE(Personel_Ucret) as "VARYANS",round(SQRT(VARIANCE(Personel_Ucret)),2) from DepPersonel

select * from DepPersonel

select STDDEV(Personel_Ucret) from DepPersonel where Personel_Gorevi="Memur"--

select max(Personel_Ucret) as "Maksimum Ücret",min(Personel_Ucret) as"Minumum Ücret" from DepPersonel

select max(Personel_Giris_Tarihi) , min(Personel_Giris_Tarihi)  from DepPersonel--en son personelin ve ilk personelin işe girme tarihi

select min(Personel_Adi),max(Personel_Adi) from DepPersonel

select count(Personel_Komisyon) from DepPersonel--Komisyon alanların sayısı, alan isimlerinde null olmayanları verir.

select count(*) from DepPersonel

select count(*) from DepPersonel where Personel_Bolum_No=10-- 10 numaralı bömlümde olan kişi sayısı

select Personel_Bolum_No,count(*) from DepPersonel Group by Personel_Bolum_No order by Personel_Bolum_No

select Personel_Bolum_No,count(*),avg(Personel_Ucret),sum(Personel_Ucret),round(VARIANCE(Personel_Ucret),2) from DepPersonel Group by Personel_Bolum_No order by Personel_Bolum_No


select Personel_Bolum_No , sum(Personel_Ucret ) from DepPersonel--Grup fonksiyonlarının yanına tekil alan kullanamayız

select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel Group by Personel_Bolum_No,Personel_Gorevi order by Personel_Bolum_No,Personel_Gorevi


select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi order by Personel_Bolum_No,Personel_Gorevi  where avg(Personel_Ucret)>2000
---Group fonsiyonları where in içinde kullanılamaz onun yerine having kullanmalıyız.

select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi
 having avg(Personel_Ucret)>2000
 order by Personel_Bolum_No,Personel_Gorevi


select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi
 having  Personel_Bolum_No in (10,20,30)
 order by Personel_Bolum_No,Personel_Gorevi


Pazarlama bölümü dışında çalışan personeli görevlendirmelerine göre gruplandırılarak ücretleri toplanacak ve bölümün toplam ücreti 5000 den
 fazla olanlar seçilecektir. Sonuçlar en düşük ücret toplamından büyüğe doğru sıralı olacaktır.


select Personel_Gorevi,count(Personel_Gorevi),sum(Personel_Ucret) from DepPersonel
where Personel_Gorevi !='Pazarlama'
having sum(Personel_Ucret)>5000
group by Personel_Gorevi order by sum(Personel_Ucret)
select round(avg(Personel_Ucret),2) from DepPersonel--ortalama ucreti bulmak için

--sum toplama işlemleri için

select sum(Personel_Ucret) as "Ücretler Toplamı" from DepPersonel--ücretlerin toplamını bulmak için

--Adı A ile başlayanların toplamı
select sum(Personel_Ucret) as "A ile başlayanların Toplamı" from DepPersonel where Personel_Adi like 'A%'

--Adı 5 akrekterden fazla olanların ücretleri toplamı
select sum(Personel_Ucret) from  DepPersonel where length(Personel_Adi)>5 

--10,20,30 bölümlerinde çalışan personelin ücret toplamları
select sum(Personel_Ucret) from DepPersonel where Personel_Bolum_No in(10,20,30)

STDDEV()--standart sapma

select round(STDDEV(Personel_Ucret),2) from DepPersonel--standart sappmayı hesaplamak için

VARIANCE--varyans standart sapmanın karesi

select round(STDDEV(Personel_Ucret),2) as "STANDART SAPMA",VARIANCE(Personel_Ucret) as "VARYANS",round(SQRT(VARIANCE(Personel_Ucret)),2) from DepPersonel

select * from DepPersonel

select STDDEV(Personel_Ucret) from DepPersonel where Personel_Gorevi="Memur"--

select max(Personel_Ucret) as "Maksimum Ücret",min(Personel_Ucret) as"Minumum Ücret" from DepPersonel

select max(Personel_Giris_Tarihi) , min(Personel_Giris_Tarihi)  from DepPersonel--en son personelin ve ilk personelin işe girme tarihi

select min(Personel_Adi),max(Personel_Adi) from DepPersonel

select count(Personel_Komisyon) from DepPersonel--Komisyon alanların sayısı, alan isimlerinde null olmayanları verir.

select count(*) from DepPersonel

select count(*) from DepPersonel where Personel_Bolum_No=10-- 10 numaralı bömlümde olan kişi sayısı

select Personel_Bolum_No,count(*) from DepPersonel Group by Personel_Bolum_No order by Personel_Bolum_No

select Personel_Bolum_No,count(*),avg(Personel_Ucret),sum(Personel_Ucret),round(VARIANCE(Personel_Ucret),2) from DepPersonel Group by Personel_Bolum_No order by Personel_Bolum_No


select Personel_Bolum_No , sum(Personel_Ucret ) from DepPersonel--Grup fonksiyonlarının yanına tekil alan kullanamayız

select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel Group by Personel_Bolum_No,Personel_Gorevi order by Personel_Bolum_No,Personel_Gorevi


select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi order by Personel_Bolum_No,Personel_Gorevi  where avg(Personel_Ucret)>2000
---Group fonsiyonları where in içinde kullanılamaz onun yerine having kullanmalıyız.

select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi
 having avg(Personel_Ucret)>2000
 order by Personel_Bolum_No,Personel_Gorevi  


select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi
 having  Personel_Bolum_No in (10,20,30)
 order by Personel_Bolum_No,Personel_Gorevi  


Pazarlama bölümü dışında çalışan personeli görevlendirmelerine göre gruplandırılarak ücretleri toplanacak ve bölümün toplam ücreti 5000 den
 fazla olanlar seçilecektir. Sonuçlar en düşük ücret toplamından büyüğe doğru sıralı olacaktır.


select Personel_Gorevi,count(Personel_Gorevi),sum(Personel_Ucret) from DepPersonel
where Personel_Gorevi !='Pazarlama'
having sum(Personel_Ucret)>5000
group by Personel_Gorevi order by sum(Personel_Ucret)
select round(avg(Personel_Ucret),2) from DepPersonel--ortalama ucreti bulmak için

--sum toplama işlemleri için

select sum(Personel_Ucret) as "Ücretler Toplamı" from DepPersonel--ücretlerin toplamını bulmak için

--Adı A ile başlayanların toplamı
select sum(Personel_Ucret) as "A ile başlayanların Toplamı" from DepPersonel where Personel_Adi like 'A%'

--Adı 5 akrekterden fazla olanların ücretleri toplamı
select sum(Personel_Ucret) from  DepPersonel where length(Personel_Adi)>5 

--10,20,30 bölümlerinde çalışan personelin ücret toplamları
select sum(Personel_Ucret) from DepPersonel where Personel_Bolum_No in(10,20,30)

STDDEV()--standart sapma

select round(STDDEV(Personel_Ucret),2) from DepPersonel--standart sappmayı hesaplamak için

VARIANCE--varyans standart sapmanın karesi

select round(STDDEV(Personel_Ucret),2) as "STANDART SAPMA",VARIANCE(Personel_Ucret) as "VARYANS",round(SQRT(VARIANCE(Personel_Ucret)),2) from DepPersonel

select * from DepPersonel

select STDDEV(Personel_Ucret) from DepPersonel where Personel_Gorevi="Memur"--

select max(Personel_Ucret) as "Maksimum Ücret",min(Personel_Ucret) as"Minumum Ücret" from DepPersonel

select max(Personel_Giris_Tarihi) , min(Personel_Giris_Tarihi)  from DepPersonel--en son personelin ve ilk personelin işe girme tarihi

select min(Personel_Adi),max(Personel_Adi) from DepPersonel

select count(Personel_Komisyon) from DepPersonel--Komisyon alanların sayısı, alan isimlerinde null olmayanları verir.

select count(*) from DepPersonel

select count(*) from DepPersonel where Personel_Bolum_No=10-- 10 numaralı bömlümde olan kişi sayısı

select Personel_Bolum_No,count(*) from DepPersonel Group by Personel_Bolum_No order by Personel_Bolum_No

select Personel_Bolum_No,count(*),avg(Personel_Ucret),sum(Personel_Ucret),round(VARIANCE(Personel_Ucret),2) from DepPersonel Group by Personel_Bolum_No order by Personel_Bolum_No


select Personel_Bolum_No , sum(Personel_Ucret ) from DepPersonel--Grup fonksiyonlarının yanına tekil alan kullanamayız

select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel Group by Personel_Bolum_No,Personel_Gorevi order by Personel_Bolum_No,Personel_Gorevi


select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi order by Personel_Bolum_No,Personel_Gorevi  where avg(Personel_Ucret)>2000
---Group fonsiyonları where in içinde kullanılamaz onun yerine having kullanmalıyız.

select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi
 having avg(Personel_Ucret)>2000
 order by Personel_Bolum_No,Personel_Gorevi  


select Personel_Bolum_No,Personel_Gorevi,count(Personel_Gorevi),avg(Personel_Ucret),sum(Personel_Ucret) from DepPersonel
 Group by Personel_Bolum_No,Personel_Gorevi
 having  Personel_Bolum_No in (10,20,30)
 order by Personel_Bolum_No,Personel_Gorevi  


Pazarlama bölümü dışında çalışan personeli görevlendirmelerine göre gruplandırılarak ücretleri toplanacak ve bölümün toplam ücreti 5000 den
 fazla olanlar seçilecektir. Sonuçlar en düşük ücret toplamından büyüğe doğru sıralı olacaktır.


select Personel_Gorevi,count(Personel_Gorevi),sum(Personel_Ucret) from DepPersonel
where Personel_Gorevi !='Pazarlama'
having sum(Personel_Ucret)>5000
group by Personel_Gorevi order by sum(Personel_Ucret)





Hiç yorum yok: