Tek Tablo İçinde Sorgulamalar

Slides:



Advertisements
Benzer bir sunumlar
ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
Advertisements

T sql-diğer komutlar Metin Akbulut.
Hazırlayan : Öğr. Gör. Fahri YILMAZ
Verileri gruplayarak analiz
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
SQL FONKSİYONLARI.
SQL Structured Query Language (Yapısal sorgulama dili)
Karmaşık (İç içe) SELECT Sorguları
SQL’e Giriş.
Normalizasyon Kuralları & SQL
SQL Komutlar 2 Sibel SOMYÜREK.
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
SQL de Değişken Tanımlama
Veritabanı Yönetim Sistemleri-I
Alt Sorgular Veritabanı 2.
5 Sorgulama İşlemleri Veritabanı 1.
Veri Tabanı Yönetim Sistemleri
SQL Sorgu Örnekleri.
Fonksiyonlar Hafta 4.
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
T-SQL-2.Konu Akış Kontrolleri.
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
10 Gruplandırarak Sorgulama
SQL (STRUCTURED QUERY LANGUAGE)
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
Departman ve Personel Tablosu Soruları
11 ekim 2011 VTYS –II Dersi. Kalıp İfadelerle Sorgu (Pattern) Eğer bir sözel verinin sadece belli kriterlere uyanlarını seçeceksek sütun_adı LIKE kalıp.
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
VIEW (BAKIŞ) OLUŞTURMA
VTYS Öğr. Gör. Engin DUTAR
SQL’e Giriş ve SELECT Komutu
SQL de Değişken Tanımlama
ÇOKLU TABLOLAR.
MySQL Operatörleri ve Fonksiyonları
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
VERİTABANI ve YÖNETİMİ
SQL Sibel SOMYÜREK.
Veri Tabanı Yönetim Sistemleri 1 Ders 5 SQL'e Giriş
SQL Komutları (2) Uzm. Murat YAZICI.
Okul Yönetiminde Bilgisayar Uygulamaları
VTYS Öğr. Gör. Engin DUTAR
Hafta 8.
SQL’ e Giriş Uzm. Murat YAZICI.
Veritabanı Kavramları
ADRES İ NDEN ÖRNEK VER İ TABANLARINI İ ND İ R İ N İ Z SQL.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
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.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
İNDEKS.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
5. HAFTA Öğr. Gör. Yunus KÖKVER
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
DML ile veri ekleme, silme ve değiştirme
SQL (STRUCTURED QUERY LANGUAGE)
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
Veri Tabanı Yönetim Sistemleri I
Sunum transkripti:

Tek Tablo İçinde Sorgulamalar Hafta 3-2

Tekrarlı Satırları Önlemek-Distinct Tekrar eden kayıtların sadece bir kez görüntülenmesi için DISTINCT ifadesi kullanılır. SELECT DISTINCT sütunlar FROM tablo_adi Örnek: select no from notlar

Select distinct no from notlar Örnek: select no from notlar Select distinct no from notlar

Sorgu Sonucunu Sıralama Yapılan sorgulamaların sonuçları kayıtların yapılma sırasına göre listelenir. Yapılan sorgunun istenilen bir veya birden fazla sütuna göre sıralanması için tablo adından sonra ORDER BY ifadesi kullanılır ve sıralama hangi sütuna göre yapılacaksa o sütunun ismi yazılır.

Sıralama işlemi artan veya azalan sıralama şeklinde yapılabilir. Artansütun isminden sonra ASC Azalan DESC Bu ifadeler kullanılmadığı durumlardan default olarak artan sıralama yapılacaktır.

Not: Karakter türündeki bir sütunun içerdiği değerler sayısal ise sıralama işlemi doğru sonuç vermeyecektir. Örneğin karakter türündeki bir sütunun değeri 15,16, 9,86 şeklinde olduğunda sıralama sonucu 15,16,86,9 şeklinde olacaktır ve bu doğru bir sonuç değildir. 86 daki 8 değeri karakter olarak 9 dan küçük olduğu için bunu daha önce sıralamaktadır. Bu tür hatalara düşmemek için sütun tipleri doğru belirlenmelidir!!

Uyarı: Sıralama yapılırken sıralama yapılacak sütun isimleri belirtildiği gibi sütun ismi yerine sütun numarası da kullanılabilir. Tablo içerisindeki sütunlar 1 den başlayarak sütun sayısı kadar devam eder. ORDER BY ifadesinden sonra sütun numarası yazıldığında da yine sıralama işlemi yapılacakdır. Örn: ORDER BY 2 DESC  tablodaki 2. sütuna göre azalan sıralama yap.

Örnek: Öğrenci no su 5530535 olan öğrencinin not bilgilerini vizeye göre artan sıralama yapan sorgu; select * from notlar where no=5530535 order by vize asc veya select * from notlar where no=5530535 order by 3 asc

Örnek: Öğrenci no su 5531519 olan öğrencinin not bilgilerini finale göre azalan sıralama yapan sorgu; select * from notlar where no= 5531519 order by final desc veya select * from notlar where no= 5531519 order by 5 desc

Birden fazla sütuna göre sıralama Sıralamaların yapılacağı referans sütunlar aralarına virgül konularak yazılır. İlk sütuna göre tüm kayıtlar sıralanacaktır, daha sonra sıralama diğer sütunlara göre kayıtların tamamını değil ilk sıralama sonucunda oluşan sonuçlar içerisinde aynı değere sahip olan kayıtları sıralayacaktır.

Select * from tablo_adi order by sütun1,sütun2 İlk önce sütun1 e göre artan , daha sonra sütun2 değerine göre artan sıralama yapılır. Select * from tablo_adi order by sütun1,sütun2 desc İlk önce sütun1 e göre artan sıralama ,daha sonra sütun1 içerisindeki kayıtlar da sütun 2 ye göre azalan sıralama yapılacaktır. Select * from tablo_adi order by sütun1 desc , sütun2 Sütun 1 e göre azalan, sonra sütun1 deki değerler de sütun2 ye göre artan sıralama yapılacaktır.

Sütunlar İçin Takma İsim Kullanma Sorgulama sonucu sütun ismini değiştirmek için AS ifadesi kullanılır Tabloda herhangi bir değişiklik olmaz! Sadece o anki sonuç için geçerlidir. Select sütun_adi1 AS takma_adi1, … from tabloadi

Örn:select no, op_kod as "Dersin optik kodu" from notlar

Sütunlar Üzerinde Matematiksel İşlemler Select ifadesinde +,-,*,/ işlemleri yapılabilir. Matematikteki işlem önceliği burdada geçerlidir. Null değerler üzerinde yapılan işlemlerin sonucu yine null değer olacaktır.

Sütunların Birleştirilmesi Sütunların içerdiği değerleri başka karakterle veya sütunla birleştirerek aynı sütunda gösterme. Oracle da || MS Sql server da + MySql de Concat komutuyla Bazı veritabanı sistemlerinde farklı tipteki sütunların birleştirilmesi sırasında hata oluşabilir.

Örnek: select h_adi +h_soyadi as "Hoca Bilgi" from hocalar

Koşula Bağlı Sorgulamalar WHERE ifadesi ile koşul belirtilir. Order by ve where birlikte kullanılacaksa öncelikle where yazılmalı daha sonra order by yazılmalıdır. SELECT * FROM tabloadi WHERE sütun=deger ORDER BY sütun_adi

Tarih Türündeki Sütunlar İçin Koşul İfadesi Tarih tipindeki bir sütun koşul ifadesinde kullanılacaksa , koşul ifadesi kullanılan veritabanı sistemi ve bilgisayarın tarih formatına göre değişiklik gösterebilir. Özellikle bölgesel ayarlar tarih formatının değişimini büyük oranda etkilemektedir. MS SQL server da varsayılan tarih formatı ‘2014-10-13’ şeklindedir. Koşul ifadesinde yazılan değerin formatı da bu şekilde (yyyy-mm-dd) olmalıdır.

Örn: select * from tablo where tarih<‘2010-10-03’. Oracle da DD.MM.YYYY veya DD/MM/YYYY

Birden Fazla Koşula Göre Sorgulama AND ve OR operatörleri koşulları birleştirmede kullanılmaktadır. Ör: select * from notlar where vize>50 and final>60 Ör: select * from notlar where vize>50 or final>60 NOT operatörü koşulun tersini belirtmek için kullanılır. IN,LIKE,NULL VE BETWEEN ifadeleriyle birlikte kullanılabilir.

Koşula bağlı sorgulamalarda işlem önceliği; Karşılaştırma operatörleri NOT AND OR Birden fazla koşul belirtilirken parantez kullanılırsa öncelik parantezindir. Örnek: select * from Personel where sehir=‘Ankara’ or adi=‘Ayşe’ and gorevi=‘Muhendis’ AND operatörünün OR operatörüne göre üstünlüğü olduğu için adi=‘Ayse’ ve gorevi=‘Muhendis’ koşulları bir bütün olarak çalışacak, sehir=‘Ankara ’koşulu da bağımsız olarak çalışacaktır.

Between …And … İki değer arasındaki verileri sorgulamak için kullanılır. Between ifadesi başlangıç ve bitiş değerleri dahil olmak üzere sorgulama yapar. Select * from tablo_adi Where referans_sütun between ilkdeger and sondeger Sayısal karakter ve tarih türündeki veriler sorgulanabilir.

Joker Karakter Kullanara Sorgulama LIKE ifadesi ile kullanılır. %,-,[HARF],[^HARF],[A-Z] Örnek Kullanımlar; ‘[BD]%’  ilk harfi B veya D olan ‘[7-8][0-9]’ 70 ile 89 arasında ‘[A-M]%’ İlk harfi A ile M arasında [^B-M][^MOZ][A-Z]3 harften oluşan ilk harfi B ile M arasında olmayan ,ikinci harfi M,O,Z harflerini içermeyen ve üçüncü harfi A ile Z arasında olan

NULL Değer Sorgulama IS NULL IS NOT NULL Tüm veri tabanı yönetim sistemleri için aynıdır. Örnek: select no , op_kod from notlar where vize is null or final is null Örnek: Select no , op_kod from notlar where mazeret is not null

Uygulamalar Tüm öğrencilerin isimlerini sınıfa göre azalan sıralamada gösteriniz. Bölüm kodu 530 ile 535 arasında olan öğrencilerin bilgilerini listeleyiniz.(koşulu like ile gösteriniz.) Bölüm adı Yapı ile başlayan bölümlerin bölüm kodlarını tekrarlı olmayacak şekilde gösteriniz. Vize notu boş olmayan not bilgilerini listeleyiniz. 3. sınıfta okuyan veya adı Veli olan öğrencileri listeleyiniz. Öğrencilerin vize notunun %40 final notunun %60 ını alarak «ortalama» olarak adlandırılan sütunda gösteriniz. Öğrencilerin bilgilerini sınıfa göre artan ve ada göre azalan şekilde sıralayarak listeleyiniz. Toplam ders saati 10 dan fazla olan ve soyadi ‘r’ ile biten hocaları listeleyiniz. Memleketlerin isimlerini, telefon kodu azalacak şekilde ve memleket adı A ile başlamayan ancak son harfi M ile Z arasında olacak şeklide listeleyiniz. Doğum tarihi 01.01.1986 ile 01.01. 1988 tarihleri arasında olan öğrencilerin isimlerini gösteriniz.