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



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

SQL Komutları (2) Uzm. Murat YAZICI

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

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

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

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

VERİTABANI Veritabanı Sorgulama

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

Veritabanı. SQL (Structured Query Language)

Like Joker Karakterler, Order By, Group By

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

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

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

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

VERİTABANI. SQL (Structured Query Language)

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

VERİTABANI ve YÖNETİMİ

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

SQL (Structured Query Language)

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

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

15 Aralık 2011 / Perşembe.

Veri Tabanı Tasarım ve Yönetimi

Bölüm 3: DML Veri İşleme Dili

Veri Tabanı-I 12.Hafta

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

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

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

YAPISAL SORGULAMA DİLİ (SQL)

Bilgisayar Uygulamaları. MySql

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

Veritabanı ve Yönetim Sistemleri

SQL Kod ile Tablo Oluşturma

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

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

ACCESS PLATFORMUNDA SQL

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

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

Oracle da kullanılan veri tipleri:

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Çok tablolu sorgulamalar

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

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

Emrah UYSAL 1

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

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ü

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

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

Veri Tabanı-I 9.Hafta

Mysql Veritabanı Komutları

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

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

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

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

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

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

MÜŞTERİLERİMİZE ÖZEL. Sorgu Örneklerinin Çalıştırılması. 13 Ağustos İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL İlgili Modül/ler : Genel

İNTERNET TABANLI PROGRAMLAMA- 12.ders

Veri Tabanı Programlamaya Giriş

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

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

5 Sorgulama İşlemleri. Veritabanı 1

BÖLÜM 11. YAPISAL SORGULAMA DİLİ (SQL) Amaçlar:

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

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

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

Bölüm 4: DDL Veri Tanımlama Dili

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

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

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

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

Veri Tabanı II Alt Sorgular

SQL Query and Table Application

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

STORED PROCEDURE LER (Saklı Yordamlar)

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.

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

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

Veri Tabanı Hafta Dersi

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

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

BAYİLERİMİZE ÖZEL. 13 Ağustos İlgili Modül/ler : Genel. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

Birden Çok Tabloda Sorgulama (Join)

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

SQL (Structured Query Language)

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

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

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

Oracle Database 11g: Introduction to SQL

SQL DİĞER Deyimler ve Komutlar

EĞİTİM : VERİ TABANI SORGULAMA İŞLEMLERİ VE PROGRAMLAMA NESNELERİ. Bölüm : Veri Sorgulama İşlemleri. Konu : Veri Sorgulama

5 Sorgulama İşlemleri. Veritabanı 1

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

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

Transkript:

Bu Derste Öğrenecekleriniz: 1- Sorgulama Yaparken Gruplama (GROUP BY) 2- Gruplamada Koşul Kullanımı (HAVING) 3- Sorgulama Yaparken Sıralama (ORDER BY) 4- Sorgulamalarda İşlem Yapma 5- Güncellemelerde İşlem Yapma Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız. SQL de bir sorgulama cümlesinin özeti aşağıdaki gibidir. Koşul ifadesine kadar olan kısmı daha önce işlemiştik. Bu dersimizde sorgulamalarda gruplama, having koşul ifadesi ve sırlamayı da öğreneceğiz. SELECT seçim_listesi FROM tablo_kaynağı [ WHERE koşul_ifadesi ] [ GROUP BY gruplama_ifadesi ] [ HAVING koşul_ifadesi ] [ ORDER BY sıralama_şartı [ ASC DESC ] ] 1 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

1. Sorgulama Yaparken Gruplama (GROUP BY) Sınavlar tablosundan bir derse ait vize, final ortalamaları alınmak istenince aşağıdaki gibi bir kod yazılabilir. SELECT AVG(VİZE) AS [VİZE ORTALAMA], AVG(FİNAL) AS [FİNAL ORTALAMA] WHERE [DERS KODU] = 'BPR255' Fakat bu kod ile sadece bir derse ait ortalama alınmış olur. Bununla beraber ortalamasını görmek istediğimiz ders kodunu bilmemiz gerekiyor. Sınavlar tablosundaki tüm derslere ait ortalamaları görmek istediğimiz durumda tüm dersleri ders koduna göre gruplayıp sonra ortalamalarını almamız gerekiyor. Bunu SQL de aşağıdaki kod ile sağlayabiliyoruz. SQL de sorgulamalarda kayıtları gruplamak için GROUP BY anahtar sözcüğü kullanılır. SELECT [DERS KODU], AVG(VİZE) AS [VİZE ORTALAMA], AVG(FİNAL) AS [FİNAL ORTALAMA] Not: GROUP BY kullanmak için kesinlikle AVG, SUM, MAX, MIN, COUNT fonksiyonlarından biri veya bir kaçı kullanılmalıdır. Eğer her bir öğrencinin vizelerden (veya finallerden) aldıkları notların ortalamalarını almak istersek bu durumda aşağıdaki gibi bir sorgulama yazabiliriz. SELECT [ÖĞRENCİ NO], AVG(VİZE) AS [VİZELER ORTALAMASI] GROUP BY [ÖĞRENCİ NO] 2 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

2. Gruplamada Koşul Kullanımı (HAVING) Belirtilen bir grup veya bir küme işlemi için bir arama koşulu olarak kullanılır. HAVING genellikle GROUP BY deyimi ile beraber kullanılır. GROUP BY kullanılmadığı durumlarda, HAVING bir WHERE yan tümcesi gibi davranır. Aşağıdaki sorgulama örneğinde vize ortalaması 50 den büyük eşit olan derslerin vize ortalamalarını getirir. SELECT [DERS KODU], AVG(VİZE) AS [VİZE ORTALAMASI] HAVING AVG(VİZE) >= 50 HAVING anahtar sözcüğü ile beraber WHERE ile kullanılan bütün koşul operatörleri ve koşul ifadeleri kullanılabilir. Aşağıdaki örnekte her dersin ders ortalaması listelenecek ancak, final notları henüz girilmemiş derslere ait ders ortalamaları listelenmeyecektir. SELECT [DERS KODU], AVG(ORTALAMA) AS [DERS ORTALAMASI] HAVING AVG(FİNAL) IS NOT NULL 3. Sorgulama Yaparken Sıralama (ORDER BY) Sorgulama yaptığımız zaman sonuç genellikle kayıtların giriş sırasına göre gelir. İstersek sorgulama sonucunu bir veya birkaç alana göre sıraya koyabiliriz. Bunu sağlamak için ORDER BY anahtar sözcüğü kullanılır. SELECT [ÖĞRENCİ NO], VİZE WHERE [DERS KODU] = 'BPR251' ORDER BY VİZE Burada BPR251 kodlu dersin vize sonuçları küçükten büyüğe sıralı olacak şekilde sınavlar tablosundan öğrenci numarası ve vize alanları sorgulanıyor. 3 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

Not: ORDER BY ile sıralama yapılırken küçükten-büyüğe veya büyükten-küçüğe sıralama yapmak mümkün. Eğer küçükten büyüğe sıralama yapmak isteniyorsa ORDER BY alan_adı ASC kullanılır. Eğer büyükten küçüğe sıralama yapılacaksa ASC yerine DESC kullanılır. Yani ORDER BY alan_adı DESC. Yukarıdaki sorguda ASC veya DESC belirtilmemiş. Böyle bir durumda ASC geçerlidir ve sıralama küçükten büyüğe doğru yapılır. Aşağıdaki sorgulama sonucunda vize notuna göre büyükten küçüğe olacak şekilde sıralanacaktır. SELECT [ÖĞRENCİ NO], VİZE WHERE [DERS KODU] = 'BPR201' ORDER BY VİZE DESC Eğer sıralama yapılacak alan tipi CHAR, VARCHAR gibi yazı tiplerinden oluşuyorsa bu durumda sıralama alfabetik olarak yapılır. SELECT NUMARA, ADI, SOYADI FROM ÖĞRENCİLER WHERE BÖLÜM = 'BPR1' ORDER BY SOYADI ASC Bu sorgu sonucuna göre öğrenciler tablosundan numara, adı, soyadı alanları seçilecek ve sorgu sonucu soyadına göre alfabetik sırada olacak. Yani önce soyadları A ile başlayanlar, en sonunda da Z ile başlayanlar olacak. Eğer tersine bir sorgulama yapılmak istenirse yani önce Z ile başlayanlar önce gelsin istiyorsanız ASC yerine DESC kullanmamız gerekecektir. 4. Sorgulamalarda İşlem Yapma SQL de sorgulamalarda matematiksel işlemler yapılabiliyor. SELECT 3*4+6 AS SONUÇ SELECT [ÖĞRENCİ NO], (VİZE*0.4+FİNAL*0.6) AS ORTALAMA WHERE [DERS KODU] = 'BPR255' AND FİNAL IS NOT NULL Bu sorgulamada BPR255 kodlu derse ait ortalama her öğrenci numarası için vize notunun yüzde 40 ı ve final notunun yüzde 60 ı alınarak ortalama olarak ekrana verilecektir. Sorgu sonucu aşağıdaki gibi olacaktır. 4 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi

5. Güncellemelerde İşlem Yapma Sorgulama yaparken işlemler yapılabildiği gibi güncellemelerde de işlemler yapılabilir. Örneğin vize ve final notları girilmiş derslerin ortalamalarını otomatik olarak hesaplamak için aşağıdaki gibi bir yöntem uygulanabilir. UPDATE SINAVLAR SET ORTALAMA = VİZE*0.4+FİNAL*0.6 WHERE VİZE IS NOT NULL AND FİNAL IS NOT NULL Burada ortalama alanı başlangıçta tüm dersler için NULL iken, UPDATE ifadesinden sonra VİZE ve FİNAL notları girilmiş dersler için vizenin yüzde 40 ı ve finalin yüzde 60 ı alınarak ORTALAMA alanına giriliyor. 5 Bartın MYO Bilgisayar Programcılığı Öğr. Gör. Bayram AKGÜL 2013-2014 Güz Dönemi