Veritabanı Tasarımı COUNT, DISTINCT, NVL

Benzer belgeler
Veritabanı Tasarımı. Çoklu Satır Alt Sorgular

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

Veritabanı. SQL (Structured Query Language)

SQL Komutları (2) Uzm. Murat YAZICI

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Veritabanı Tasarımı. Alt Sorgu Temelleri

Emrah UYSAL 1

Veritabanı Tasarımı. Büyük/Küçük Harf ve Karakter İşleme

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

VERİTABANI. SQL (Structured Query Language)

Veri Tabanı Tasarım ve Yönetimi

Veritabanı Tasarımı. SQL Deyimi Anatomisi

BÖLÜM- 5: BİRDEN FAZLA TABLODAN VERİ GETİRMEK

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

BÖLÜM -2: VERİLERİ SINIRLAMA VE SIRALAMA

SQL Query and Table Application

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Veri Tabanı Yönetim Sistemleri Bölüm - 5

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Veritabanı Tasarımı. İlişkisel Veritabanı Kavramlarına Giriş

VERİTABANI ve YÖNETİMİ

Veri Tabanı Yönetim Sistemleri Bölüm - 6

VERİTABANI Veritabanı Sorgulama

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

SORGULAR. Öğr.Gör.Volkan Altıntaş

Veri Tabanı II Alt Sorgular

Veritabanı Yönetim Sistemleri (Başarım Eniyileme Performance Tuning)

SQL e Giriş. Uzm. Murat YAZICI

SQL Kod ile Tablo Oluşturma

KULLANICI TANIMLI FONKSİYONLAR

Veritabanı Tasarımı. Düzenli İfadeler

İleri Seviye Select Cümlecikleri

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veritabanı Tasarımı. Dönüşüm Fonksiyonları

Oracle Database 11g: Introduction to SQL

Veri Tabanı Yönetim Sistemleri Bölüm - 7

1. IT bölümünde çalışan tüm çalışanların isimlerini gösteren bir sorgu yazınız.

VERİ TABANI YÖNETİM SİSTEMLERİ I

6 Aritmetiksel Operatörler ve Hazır Fonksiyonlar

Fonksiyonlar, Count, Sum, Avg, Max, Mın, Lower, Upper, Length, Round, Mod, Left, Right, Concat, If

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

5 Sorgulama İşlemleri. Veritabanı 1

SQL (Structured Query Language)

Veri Tabanı Hafta Dersi

YAPISAL SORGULAMA DİLİ (SQL)

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veriyi ve Bilgiyi Organize Etmek. Bilgisayar Mühendisliğine Giriş 1

Veritabanı Tasarımı. Join Yantümceleri

Veritabanı Tasarımı. Self-Join ve Hiyerarşik Sorgular

BÖLÜM- 11: BÜYÜK VERİ KÜMELERİ

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

İlişkisel Veri Tabanları I

SQL FONKSİYONLARI SQL lisanında hesaplama ve sayma işlemlerinde kullanılmak üzere bir çok fonksiyon vardır.

VERİ TABANI YÖNETİM SİSTEMLERİ I

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

BÖLÜM- 3: TEK SATIR FONKSİYONLARI

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

BÖLÜM- 13: ALT SORGULAR İLE VERİ İŞLEME

Veritabanında var olan nesneler ve veriler üzerinde işlemş için kullanılan veri tabanı nesneleridir. Verilerinizi tablolar halinde ortaya

Veri Tabanı Yönetim Sistemleri Bölüm - 4

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Her bölüm için kısa bazı girişler yapılacak ve bölüm içerisinde anlatılacak olan konuların genel başlıkları belirtilecektir.

5 Sorgulama İşlemleri. Veritabanı 1

--Tüm personel kayıtlarını seçiniz. SELECT* FROM employees ;

VERİ TABANI ve YÖNETİMİ

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

IN ve NOT IN Tablodaki alan içeriklerine ulaşmak için IN deyimi kullanılır.

Veri Tabanı-I 9.Hafta

BTP203 VERİTABANI YÖNETİM SİSTEMLERİ

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Like Joker Karakterler, Order By, Group By

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Veritabanı Tasarımı. İndeksler ve Eşanlamlar

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Laboratuvar 2 Tek Kayıt Fonksiyonları

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Hafta IV. Öğr. Gör. Murat KEÇECĠOĞLU

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

Veritabanı Tasarımı. Tablo Oluşturma

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi. Harun Gökçe EG Yazılım, TOBB ETÜ

Birden Çok Tabloda Sorgulama (Join)

Veritabanı Yönetim Sistemleri İleri SQL

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

Bilgisayar Uygulamaları. MySql

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

Transkript:

Veritabanı Tasarımı COUNT, DISTINCT, NVL

Konular COUNT grup fonksiyonu kullanarak SQL sorgusu oluşturmak ve çalıştırmak Grup fonksiyonları ile DISTINCT ve NVL fonksiyonu kullanmak 2

Amaç SQL fonksiyonları elle yapılması gereken hesaplamalar yapmak için birlikte çalışma sağlar. Okulunuzda öğrencilerin tümünü saymak zorunda olduğunuz örneği hatırlıyor musunuz? Zor bir görev! Sadece elle gerçekleştirmek için yeterince el yoktur. Neyse ki, SQL grup fonksiyonları bu tür istekleri kolayca işleyebilir. 3

COUNT COUNT(ifade): Sütundaki null olmayan değerlerin sayısını verir. SELECT COUNT (YEAR) FROM d_cds WHERE year < 2001; COUNT (YEAR) 5 COUNT (DISTINCT ifade): Sütundaki benzersiz null olmayan değerlerin sayısını verir. SELECT COUNT (DISTINCT year) FROM d_cds WHERE year < 2001; COUNT (DISTINCT YEAR) 4 4

COUNT ve NULL Değerler Tabloda null kayıtları da içeren 6 yorum kaydı listelenmektedir. Fakat count fonksiyonu sadece 5 döndürmüştür, neden? SELECT comments FROM d_play_list_items; COUNT comments sütununu sayar ama sütundaki null değerleri atlar. COMMENTS Play late (null) Play early Play after cake cutting Play first Play for the father SELECT COUNT(comments) FROM d_play_list_items; COUNT (COMMENTS) 5 5

COUNT (Tüm Satırları) COUNT (*) SELECT deyiminin kriterlerini karşılayan bir tablodaki satır sayısını döndürür. Saymak için özel bir sütun belirtir. Sonuç kümesinde döndürülen satırların sayısını sayar. SELECT COUNT (*) FROM d_cds WHERE year < 2001; COUNT (*) 5 Örneğin, 2001 yılından önce üretilmiş olan CD'lerde DJ sayısını bulmak için, COUNT SELECT deyimi içinde kullanılabilir. Bir veya daha fazla sütun boş değerlere sahip olsa da tüm satırları saymak için COUNT (*) kullanırız. 6

DISTINCT DISTINCT anahtar sözcüğü bir sorguda sadece yinelenmeyen değerleri veya yinelenmeyen değerlerin kombinasyonlarını döndürmek için kullanılır. SELECT year as CD Year FROM d_cds; Yukarıdaki sorguyu inceleyin. DISTINCT anahtarını kullanmadan, sorgu yinelenen değerleri içeren tüm değerleri döndürür. CD Year 1997 2000 2002 1999 2000 2001 1998 2004 7

DISTINCT Örneği Yinelenen satırları ortadan kaldırmak için burada gösterildiği gibi DISTINCT anahtar sözcüğünü kullanın. SELECT DISTINCT year AS CD Year FROM d_cds; DISTINCT anahtar sözcüğünü kullanarak yinelenen değerler sadece bir kez döndü. CD Years 1997 1998 1999 2000 2001 2002 2004 8

DISTINCT Yinelenmeyen DISTINCT anahtarı, birden fazla sütunu seçmek için kullanıldığında seçili sütunların yinelenmeyen kombinasyonları dönecektir. Aşağıda gösterilen sonuç kümesini inceleyin. Yıl ve başlık kombinasyonu çiftlerinde herhangi bir yineleme söz konusu değildir. SELECT DISTINCT year, title FROM d_cds; 9 YEAR TITLE 1997 The Celebrants Live in Concert 1998 Graduation Songbook 1999 Songs from My Childhood 2000 Cape Diem 2000 Party Music for All Occasions 2001 Here Comes the Bride 2002 Back to the Shire 2004 Whirled Peas

DISTINCT Kullanımı DISTINCT anahtarı tüm grup fonksiyonları ile kullanılabilir. DISTINCT kullanımı fonksiyona sadece yinelenmeyen değerleri dikkate aldırır. SELECT SUM(salary) FROM employees WHERE department_id = 90; SELECT SUM(DISTINCT salary) FROM employees WHERE department_id = 90; Neden üstteki iki tablo farklı sonuçlar üretmektedir? 10

DISTINCT ve COUNT COUNT gibi bir grup fonksiyonu ile DISTINCT kullanırken, sonuç kümesi yinelenmeyen sütun değerlerinin sayısını dönecektir. SELECT COUNT (DISTINCT job_id) FROM employees; COUNT (DISTINCT job_id) 12 SELECT COUNT (DISTINCT salary) FROM employees; COUNT (DISTINCT salary) 18 Kaç farklı iş çalışanlara tahsis edilir? Kaç farklı maaş miktarı çalışanlara ödenir? 11

NVL Bazen grup işlevlerinde boş değerleri dahil etmek tercih edilir. Örneğin, her gün müşteri siparişlerinin ortalama sayısı her ay ne kadar yiyecek sipariş verileceği tahmininde kullanılabilir. Bazı günler restoran kapalı olur ve hiçbir müşteriye servis edilmez, fakat restoran sahibi kapalı olduğu günleri de dahil ederek ortalama hesaplama yapar. Bu hesap sadece müşterileri olan günlerin sayılmasından daha iyi bir göstergedir. Null değerleri içerecek şekilde SELECT deyimi şu şekilde yazılır: SELECT AVG(NVL(customer_orders, 0)) 12