Veri Tabanı Yönetimi Dersi 5

Slides:



Advertisements
Benzer bir sunumlar
Hazırlayan : Öğr. Gör. Fahri YILMAZ
Advertisements

distinct ile group by komutlarının özellikleri ve farkları
SQL Structured Query Language
Verileri gruplayarak analiz
KARMAŞIK SORGULAR.
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
SQL Structured Query Language (Yapısal sorgulama dili)
En ucuzundan en pahalısına doğru sıralanmış olarak “Cep Telefonları” kategorisindeki tüm ürünlerin isimleri “Spor” kategorisinde ürünleri listelenen “İstanbul”
Karmaşık (İç içe) SELECT Sorguları
SQL KOMUTLARI.
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
Veri Tabanı I.
Veritabanı Yönetim Sistemleri-I
Alt Sorgular Veritabanı 2.
Tek Tablo İçinde Sorgulamalar
SQL Sorgu Örnekleri.
Fonksiyonlar Hafta 4.
T-SQL-2.Konu Akış Kontrolleri.
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
10 Gruplandırarak Sorgulama
SQL (STRUCTURED QUERY LANGUAGE)
Departman ve Personel Tablosu Soruları
VIEW (BAKIŞ) OLUŞTURMA
VIEW lerle çalışmak 11.BÖLÜM.
SQL’e Giriş ve SELECT Komutu
GÖRÜNÜŞLER (VİEWS). Görünüş Temel tablolar üzerinde yeni bir tablo almak için yapılan işlemlerin sonucu Sanal tablo- gerçekten veri tabanında yoktur ve.
MySQL Operatörleri ve Fonksiyonları
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
Varlık-İlişki Modeli (E-R Modeli)
SQL Komutları (2) Uzm. Murat YAZICI.
FONKSİYONLAR İbrahim Onur Sığırcı.
RAISE RECORD/CURSOR TRIGGER
VTYS Öğr. Gör. Engin DUTAR
Veri Tabanı Dersi 4. Laboratuvarı
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name aggregate : birleştirme fonksiyonları.
COMPANY Veritabanı Örneği (Gereksinimler)
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
C OMPANY DB / Ö RNEKLER İbrahim Onur Sığırcı. İ LIŞKI T ABLOLARı idfnamelnamebdate AhmetDemir MehmetBakır AyşeTunç1994.
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı Arş. Gör. Pınar CİHAN.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Veri Tabanı Yönetimi Dersi 2. Laboratuvarı Arş. Gör. Pınar CİHAN.
5. Temel SQL (Basic SQL) 5.1. SQL Veri Tanımlama ve Veri Tipleri (SQL Data Definition and Data Types) SQL de Şema ve Katalog Kavramı (Schema and.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
GROUP BY HAVING ORDER BY İbrahim Onur Sığırcı. Ö RNEK 1 – G RUP F ONKSIYONLARı * «Sales» departmanında kaç kişinin çalıştığını, toplam maaşlarını, en.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
View View’ler select ifadesi ile tanımlanmış sanal tablolardır. Temel amacı base tabloların içerisinden veri kümesi getirip ortaya çıkan sonucu sanal.
 Bazı Veri tabanları sadece 1 tablodan oluşmaz.  Bunun sebebi genellikle veri tekrarını önlemektir.  Bu şekilde oluşturulmuş veri tabanlarında, tablolardaki.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Constraint-View-Sequence Union-Intersection-Except Exısts-In Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
Company DB / Örnekler İbrahim Onur Sığırcı.
SQL GROUP BY HAVING.
FONKSİYONLAR İbrahim Onur Sığırcı.
GROUP BY HAVING ORDER BY LIMIT
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
FONKSİYONLAR- Metin Fonksiyonları
Sunum transkripti:

Veri Tabanı Yönetimi Dersi 5 Veri Tabanı Yönetimi Dersi 5. Laboratuvarı Fonksiyonlar GROUP BY HAVING ORDER BY Arş. Gör. Pınar CİHAN

Fonksiyonlar AVG(kolon): Girilen kolondaki sayıların aritmetik ortalama değerini geri yollar. COUNT(kolon): Boş değerler hariç, girilen kolondaki satır sayısını verir. COUNT(*): Verilen tablodaki satır sayısını verir. FIRST(kolon): Girilen kolondaki ilk değeri verir. LAST(kolon): girilen kolondaki son değeri verir. 

Fonksiyonlar MAX(kolon): Girilen kolondaki en yüksek değeri verir. MIN(kolon): Girilen kolondaki en düşük değeri verir.  STDEV(kolon): Girilen kolondaki basit istatiksel standart sapma değerini verir.        SUM(kolon): Girilen kolondaki sayıların toplamını verir.  Fonksiyon sözdizimi kuruluşu;  SELECT fonksiyon(kolon) FROM tablo

Group By/ Order By Group By: Gruplama yapar. Group by ifadesinden sonra gelen kolona göre sorguda seçtiğimiz kümeyi gruplandırmış oluruz. Order By: Kendisinden sonra gelen kolona göre verinin sıralanmasını sağlar. kendisinden sonra gelen kolona göre verinin sıralanmasını sağlar. Varsayılan olarak artan (küçükten büyüğe) sıradadır. Burada sıralamanın azalan (büyükten küçüğe) şekilde olmasını istiyorsak DESC anahtar kelimesini kullanırız. order by kolon_ismi desc

Örnek 1 8 numaralı departmanda çalışan işçilerin ortalama maaşı ve toplam maaşlarını bulun. Kullanılacak Tablo : Employee FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO

Cevap 1 SELECT avg(salary) ortalama, sum(salary) toplam FROM employee where dno=8;

Örnek 2 “Hardware” departmanında çalışanların en düşük ve en yüksek maaş miktarını bulun. Kullanılacak Tablo : Employee ve Department FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DNAME DNUMBER MGRSSN MGRSTARTDATE

Cevap 2 SELECT min(salary) endusuk, max(salary) enyuksek FROM employee e, department d WHERE e.dno=d.dnumber AND d.dname='Hardware'

Örnek 3 “Middleware” projesinde kaç kişinin çalıştığını ve bu çalışanların ortalama maaşını bulun Kullanılacak Tablo : Employee, Project ve Works_on FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO PNAME PNUMBER PLOCATION DNUM ESSN PNO HOURS

Cevap 3 SELECT count(*) calisan_sayisi, avg(salary) FROM employee e, project p, works_on w WHERE e.ssn=w.essn AND p.pnumber=w.pno AND p.pname='Middleware'

Örnek 4 Her bir projede çalışanların ortalama maaşını bulup proje ismine göre alfabetik olarak listeleyin. Kullanılacak Tablo : Employee, Project ve Works_on FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO PNAME PNUMBER PLOCATION DNUM ESSN PNO HOURS

Cevap 4 SELECT pname proje_ismi, avg(salary) ortalama_maas FROM employee e, project p, works_on w WHERE e.ssn=w.essn AND p.pnumber=w.pno GROUP BY pname ORDER BY pname;

Örnek 5 Her bir departmanda, her bir cinsiyetten (M ve F) kaçar işçi olduğunu ve bu işçilerin ortalama maaşlarını bulun. Kullanılacak Tablo : Employee FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO

Cevap 5 SELECT dno departman, sex cinsiyet, count(*) calisan_sayisi, avg(salary) ortalama_maas FROM employee GROUP BY dno, sex; Açıklama: Gruplama öncelikle dno kolonuna göre yapılıyor. Yani öncelikle işçiler departman no’larına göre gruplandırılıyor; sonra herbir departman grubundaki işçiler cinsiyetlerine göre (kadın ve erkek olarak ikişer alt gruba) bölünüyor. Bu alt gruplara ait olan çalışan sayısı ile ortalama maaş bilgisi gösteriliyor.

Örnek 6 5 no’lu departman dışındaki departmanlar arasından, ortalama maaşı 40,000$’dan fazla olan departmanların no ve ortalama maaşlarını bulun. Kullanılacak Tablo : Employee FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO Açıklama: Her bir departmana göre işçileri gruplayıp ortalama maaşlarını bulmamız gerekiyor. Ancak bu gruplamanın 2 şartı mevcut. 5 no’lu departman dışındaki departmanların ortalama maaşı lazım; ayrıca grubun ortalama maaşının 40000$’dan fazla olması lazım. Grupladığımız veri kümelerinin belli şartları sağlamasını istiyorsak “group by kolon_ismi” dedikten sonra “having koşullar” ifadesini kullanmalıyız. Yani having’ten sonra sıralanan koşullar, gruba aittir.

Cevap 6 SELECT dno bolum, avg(salary) ortlama_maas FROM employee GROUP BY dno HAVING avg(salary) > 40000 AND dno <>5