Sezgiler WP Theme

Koyu Açık
Sql Ders Notları 6 – Ödev Arşivi Sql Sorgulama Dersleri

SQL’DE ARİTMETİKSEL İFADELER VE FNKSİYONLAR :

KÜME FONKSİYONLARI:

SUM FONKSİYONU:

SUM           TOPLA

Fonksiyonun argümanı olarak belirtilen sütun ile ilişkili olana toplama işlemini gerçekleştirir.

ÖRNEK:İşletmedeki personelin brüt  maaşlar toplamı  ne kadardır?

SELECT  SUM (brüt)                                       SEÇ  TOPLA(brüt)

FROM  personel;                                              GELİŞ  personel;

AVG FONKSİYONU:

AVG            ORT

Aritmetiksel  ortalama (average) hesaplamak için kullanılır.

SELECT  AVG(brüt)                                        SEÇ ORT (brüt)

FROM   personel;                                             GELİŞ  personel;

MAX FONKSİYONU:

MAX           ÜST

Tablo içinde ,belirtilen sutun (alan)içindeki en büyük değeri bulur.

ÖRNEK:İşletme içindeki en yüksek maaş ne kadardır?

SELECT  MAX (brüt)                                      SEÇ ÜST (brüt)

FROM  personel;                                              GELİŞ personel;

MIN FONKSİYONU:

MIN         ALT

Tablo içinde,belirlenen sutun alan içindeki en küçük değeri bulur.

ÖRNEK:İşletme içinde 4 Mayıs  1970’den önce doğanlar için,asgari ücret nedir?

SELECT  MIN(brüt)                                        SEÇ   ALT(brüt)

FROM  personel                                               GELİŞ  personel

WHERE dog_tar < {05/04/70};                        OLAN  dog_tar < {05/04/70};

COUNT FONKSİYONU:

COUNT        SAY

Tablo içinde ,her hangi bir sayma işlemi gerçekleştirmek için kullanılır.

ÖRNEK:Ücreti 6000000’dan  olan personel sayısı nedir?

SELECT COUNT  (*)                                      SEÇ SAY(*)

FROM   personel                                              GELİŞ  personel

WHERE brüt > 6000000;                                 OLAN brüt > 6000000;

COUNT (SAY)  fonksiyonu  DISTINCT (TEKRARSIZ)sözcüğü ile de  kullanılır.

ÖRNEK:Personel tablosunda  mevcut  personelin işletme içinde kaç tane farklı  bölümde çalıştığını  bul.

SELECT  COUNT(DISTINCT böl_no)          SEÇ SAY (TEKRARSIZ böl_no)

FROM  personel;                                              GELİŞ  personel;

COUNT (böl_no)                                              SAY (böl_no)

GRUPLANDIRARAK  İŞLEM  YAPMA:

GROUP BY          GRUPLA

ÖRNEK: Her  bölümdeki ortalama maaş nedir?

SELECT  böl_no,AVG (brüt)                           SEÇ böl_no

FROM  personel                                               GELİŞ  personel

GOUP BY böl_no;                                            GRUPLA böl_no;

HAVING:

HAVING           SAHİP

Gruplandırarak  kümeleme fonksiyonunu uygularken koşulda verilebilir.Bu durumda  grup üzerindeki hesaplamalarla ilgili koşul belirtilirken HAVING (SAHİP) sözcüğü kullanılır.

ÖRNEK:En yüksek maaşın 9000000’dan fazla olduğu bölümlerdeki personele ait ortalama maaşları listele.

SELECT  böl_no,AVG (brüt)                           SEÇ böl_no, ORT(brüt)

FROM personel                                                GELİŞ  personel

GROUP BY böl_no                                          GRUPLA  böl_no

HAVING AVG(brüt)> 9000000;                      SAHİP  ORT(brüt)> 9000000;

HAVING(SAHİP) sözcüğü SELECT(SEÇ) konusunda GROUP BY(GRUPLA) bulunmadığı zaman geçersizdir.HAVING(SAHİP) sözcüğünü izleyen ifade içinde ,SUM(TOPLA), COUNT(*)(SAY),AVG(ORT),MAX(ÜST) yada  MIN(ALT) fonksiyonlarından en az biri bulunmalıdır.

HAVING (SAHİP)  sözcüğü sadece gruplanmış veriler üzerindeki işlemlerde geçerlidir.

WHERE (OLAN) sözcüğü bir tablonun tek tek satırları üzerinde işlem yapan koşullar içinde geçerlidir.

Bazı durumlarda HAVING(SAHİP) ve WHERE(OLAN) sözcükleri ile birlikte SELECT(SEÇ) komutu içinde kullanılabilir.

ÖRNEK:Personel tablosu içinde her bölümde erkek personele ait maaşlar için ortalamanın  9000000’dan fazla olduğu  bölümleri listele.

SELECT böl_no, AVG (brüt)                           SEÇ böl_no, ORT (brüt)

FROM  personel                                               GELİŞ  personel

WHERE cins= .T.                                             OLAN cins= .D.

GROUP BY böl_no                                          GRUPLA  böl_no

HAVING AVG (brüt) > 9000000;                    SAHİP ORT(brüt) > 9000000;

BİRDEN FAZLA TABLOYU İLİŞKİLENDİRMEK:

JOIN           İLİŞKİLENDİR

ÖRNEK: Personel ve bölüm adlı 2 tablo bulunmaktadır.

Çalışan her personel ve personelin yöneticisi ile ilişkili bilgiler nelerdir?

SELECT   *                                                             SEÇ  *

FROM  personel,bölüm                                          GELİŞ  personel,bölüm

WHERE personel .böl_no=bölüm.bölüm_no ;      OLAN personel.böl_no = bölüm.bölüm_no;

TABLO ADI            KOLON ADI

ÖRNEK: JOIN (İLİŞKİLENDİR) işleminde arzu edilen(sicil,ad,soyad,böl_no,yön_s_g_n) alanların listele.

SELECT sicil,ad,soyad,böl_no,yön_s_g_n                  SEÇ sicil,ad,soyad,böl_no,yön_s_g_n

FROM  personel,bölüm                                                GELİŞ personel,bölüm

WHERE personel .böl_no = bölüm .bölüm_no;          OLAN personel .böl_no = bölüm .bölüm_no;

SELF-JOIN: KENDİSİYLE -İLİŞKİLENDİR

TANIM:Bir tablonun kendisi ile birleştirilmesine “KENDİSİYLE-İLİŞKiLENDİR” denir.(SELF-JOIN)

SELECT A. sicil , A.ad , A.soyad,

B .ad , B.soyad , B.dog_tar                                       SEÇ    A. sicil , A.ad , A.soyad,

FROM  personel A , personel B                               B .ad , B.soyad , B.dog_tar

WHERE A. yon_sos_g_n =B .sosy_g_no;                GELİŞ   personel A , personel B

OLAN  A. yon_sos_g_n =B .sosy_g_no;

NESTED SELECTS:

İÇİÇE

TANIM:İç içe geçmiş SELECT(SEÇ)komutlarından oluşur.İçteki. seç komutunun bulduğu sonucu dış takı SEÇ komutumuz işlevini yerine getirmesi için kullanılır.

ÖRNEK:Parça numarası 24 olan parçayı ,projelerde kullanan çalışan personeli listele.

SELECT  *                                                                 SEÇ  *

FROM  personel                                                        GELİŞ personel

WHERE sosy_g_no                                                   OLAN sosy_g_no

IN(SELECT per_s_g_no                                           İÇİNDE(SEÇ per_s_g_no

FROM  parça,proje,çalışma                                         GELİŞ parça,proje,çalışma

WHERE pr_no = proj_no AND                                    OLAN pr_no = proj_no VE

proj_no =proj_no AND                                                  proj_no = proj_no VE

par_no =24);                                                                   par_no =24);

ÖRNEK: Fatih’te oturan personelin çalıştığı projelerin adlarını ve yerlerini listele.

SELECT   proj_ad,yer                                               SEÇ  proj_ad,yer

FROM  proje                                                              GELİŞ  proje

WHERE  proj_no  IN                                                OLAN proj_no İÇİNDE

(SELECT  proje_no                                                      (SEÇ proje_no

FROM  personel,çalışma                                            GELİŞ sosy_g_no = per_s_g_no

WHERE  sosy_g_no = per_s_g_no                            OLAN  sosy_g_no = per_s_g_no

AND adres LIKE “% fatih %”);                                VE adres BULUNAN “% fatih %);

İçerik için yorum bulunamadı.
Cevap yaz: