(
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.
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:
Yorum Gönder