VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar

Slides:



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

III.Oturum: SQL ile Verileri İşlemek
Verileri gruplayarak analiz
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
KARMAŞIK SORGULAR.
SQL (Structured Query Language)
SQL Structured Query Language (Yapısal sorgulama dili)
Karmaşık (İç içe) SELECT Sorguları
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
SQL de Değişken Tanımlama
SQL Komutlar 4 Fahri YILMAZ.
Veritabanı Yönetim Sistemleri-I
VERİ TABANI ve YÖNETİMİ
Alt Sorgular Veritabanı 2.
5 Sorgulama İşlemleri Veritabanı 1.
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
SQL Sorgu Örnekleri.
Fonksiyonlar Hafta 4.
Bölüm 3 – Yapısal Programlama
T-SQL-2.Konu Akış Kontrolleri.
BÖLÜM 6 SQL SERVER KOMUTLARI.
10 Gruplandırarak Sorgulama
Yapısal Program Geliştirme – if, if-else
SQL (STRUCTURED QUERY LANGUAGE)
VTYS Öğr. Gör. Engin DUTAR
VIEW (BAKIŞ) OLUŞTURMA
VIEW lerle çalışmak 11.BÖLÜM.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
VERİTABANI ve YÖNETİMİ
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ı Yönetim Sistemleri-I
SQL Komutları (2) Uzm. Murat YAZICI.
VTYS Öğr. Gör. Engin DUTAR
SQL’ e Giriş Uzm. Murat YAZICI.
Bilgisayar Mühendisliği Bölümü
Bugünkü Konular Döngüler ve Akış Diyagramları C de Döngü Tanımlama
T-SQL 3.K ONU Tablo Tipi Değişkenler. T ABLO TIPI DEĞIŞKENLER KULLANMAK T-SQL de dizi tanımlama nasıl yapılır? Bu sorunun cevabı olarak tablo tipi değişkenleri.
Ö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.
Ö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.
 Stored Procedure kısaca SQL sorgularını isteğimize göre hazırlayıp kullanıma hazır veri tabanı nesnesine çeviren bir araçtır.  Stored Procedure, Türkçeye.
Öğ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
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
İNDEKS.
Tablo Tipi Değişkenler
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Basit Sorgulamalar Yapmak
SQL SERVER STORED PROCEDURE
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
VERİ TABANI VE VISUAL STUDIO SQL LOCAL DB(YEREL VERİ TABANINI SAYFAYA BAĞLAMA Savaş TUNÇER.
Excel’de VBA Programlama (Visual Basic Application)
Veri Tabanı Yönetim Sistemleri I
SQL Server - Stored Procedures
SQL Server - Views.
Intersect Tablo1 Sno Ad Soyad 1 Ali Ak 2 Veli Kara 3 Can Mor Tablo2
Transaction.
Sunum transkripti:

VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar 10.BÖLÜM

Uygulamada, bir sorgudan elde edilen sonuç, bir diğer sorguyu ilgilendirebilir. Bu gibi durumlarda alt sorgular ya da bir başka deyişle iç sorgular kullanılır. Alt sorgu, SELECT deyimi içerisinde ikinci bir SELECT deyiminin kullanılması ile oluşturulur. İkinci select deyimi parantez içinde yer almalıdır. S.Mehtap İZMİRLİ AYAN 17.02.2019

Dikkat Alt sorgular veri tabanı performansı açısından daha sonra düşünülmesi gereken çözümler arasında yer almalıdır. S.Mehtap İZMİRLİ AYAN 17.02.2019

Alt sorgunun kullanım şekli aşağıda yer almaktadır: SELECT liste FROM tablo WHERE ifade işleç (SELECT liste FROM tablo); S.Mehtap İZMİRLİ AYAN 17.02.2019

Alt Sorgularla ilgili genel kurallar Alt sorgularda sütun sayısı birden fazla olamaz. Alt sorgular parantez içinde yazılır. Alt sorgularda Order By kullanılamaz. Order By ve Group By içerisinde alt sorgu kullanılmaz. Alt sorgulara takma isimler verilerek sütun isimleri yazılır. Alt sorgu = ifadesi ile karşılaştırılmışsa alt sorgudan dönen tek değer olmalıdır.Eğer birden fazla değer dönüyorsa in veya not in kullanılmalıdır. S.Mehtap İZMİRLİ AYAN 17.02.2019

IN ve NOT IN alt sorgularla çalışırken kullanılabilir. Bildiğimiz gibi IN içinde anlamını vermekte, NOT IN içinde olmayan anlamını vermektedir. S.Mehtap İZMİRLİ AYAN 17.02.2019

İçiçe geçmiş SELECT ifadelerini iki grupta inceleyeceğiz. Genellikle karmaşık sorguları parçalamak için veya sorguyu daha rahat tanımlayıp parça parça test edebilmek için veya daha başka bir nedenden ötürü bir sorgunun içinde başka bir sorguya yer vermek gerekebilir. Bu durumda, içiçe geçmiş SELECT ifadelerinden yararlanılır. İçiçe geçmiş her bir SELECT ifadesinin parantezlerle belirtilmiş olması gerekir. İçiçe geçmiş SELECT ifadelerini iki grupta inceleyeceğiz. S.Mehtap İZMİRLİ AYAN 17.02.2019

TEKİL SONUÇ DÖNDÜREN ALT SORGULAR Alt sorgu sadece bir tek değer döndürüyorsa, buna tekil değer döndüren alt sorgu denir. Alt sorgular bazen kayıtları filtrelemek için kullanılır. Grupsal fonksiyonlar kullanılarak elde edilebileceği gibi, WHERE kısmında verilecek bir filtre neticesinde de tekil bir sonuç döndürmesi sağlanabilir. S.Mehtap İZMİRLİ AYAN 17.02.2019

Vestel markasına ait ürünleri bulalım. S.Mehtap İZMİRLİ AYAN 17.02.2019

Ürünlerin isimlerini ve kodlarını, fiyatlarını ve ortalama fiyatlarını görüntüleyecek alt sorguyu yazalım. S.Mehtap İZMİRLİ AYAN 17.02.2019

ÇOKLU SONUÇ DÖNDÜREN ALT SORGULAR Bazı durumlarda altsorgu birden fazla sonuca dönüyor olabilir. Bu durumda sorgular IN deyimi ile bağlanır. Örnek: Markakodu 10 dan küçük olan markalara ait ürünlerin listesini bulalım S.Mehtap İZMİRLİ AYAN 17.02.2019

S.Mehtap İZMİRLİ AYAN 17.02.2019

Her ne kadar çoklu kayıt döndüren alt sorgularla karşılaştırma işaretleri kullanılamasa da, bazı durumlarda ufak ayarlamalarla bu işaretler kullanılabilir. Bunun için ANY ve ALL deyimlerinden yararlanılır. S.Mehtap İZMİRLİ AYAN 17.02.2019

ANY, alt sorgunun döndürdüğü çoklu sonuçlardan en az birinin sağladığı bir şartı vermek için kullanılırken ALL da alt sorgunun döndürdüğü bütün sonuçların teker teker sağlaması gereken bir karşılaştırma şartı vermek için kullanılır. S.Mehtap İZMİRLİ AYAN 17.02.2019

S.Mehtap İZMİRLİ AYAN 17.02.2019

ŞART TAM BURASI İçerdeki sorgudan dönen değerlerin tamamından büyük olanlar, dışarıdaki sorgu tarafından seçilir. S.Mehtap İZMİRLİ AYAN 17.02.2019

Türetilmiş Tablolar Buraya kadar iç içe sorguları hep bir sütun türetmek için FROM dan sonra veya WHERE ifadesinden sonra kıyas yapmak için kullandık. Oysa iç içe sorgular, bunların dışında bir sorgu sonucunun tabloymuş gibi tekrardan sorgulanması için de kullanılabilir. Buna Türetilmiş Tablolar (Derived Tables) denir, alt sorgularla çalışmanın özel bir halidir. S.Mehtap İZMİRLİ AYAN 17.02.2019

Türetilmiş Tablolar Türetilmiş tablolar, bir sorguda doğrudan tablo adı vermek yerine, başka bir sorgunun türettiği sonucu bir tabloymuş gibi kabul edip yeniden sorgulamak maksatlı kullanılırlar. Genel kullanımı: SELECT ifadeler FROM (SELECT ifadeler [AS] TuretimisTabloyaTakmaAd [(SutunaTakmaAd,…)] S.Mehtap İZMİRLİ AYAN 17.02.2019

SQL Server da bir sorgunun sonucu türetilmiş tablo olarak kullanılacaksa, hesaplanmış bütün sütunlara bir takma ad verilmeli. S.Mehtap İZMİRLİ AYAN 17.02.2019

İLİNTİLİ (CORELATED) ALTSORGULAR İlintili altsorrgular, dışarıdaki sorgunun döndürdüğü her bir satır için, içerideki sorgunun tekrarladığı sorgulara verilen addır. Alt sorgular kullanırken, alttaki her sorgu, üstteki sorgularda kullanılan tablo isimlerine erişip ilgili satırdaki verileri çekebilir. Ancak bu programlama mantığındaki DÖNGÜ yapıları ile özdeştir ve çok fazla yük oluşturur. S.Mehtap İZMİRLİ AYAN 17.02.2019

S.Mehtap İZMİRLİ AYAN 17.02.2019

Exists , not exists EXISTS alt sorgudan dönen değerlerin olup olmadığını kontrol eder. Exists kullanıldığında içerideki sorguda bir veya daha fazla kayıt dönerse, dışarıdaki sorgu çalıştırılır. (true değer üretir) Hiç kayıt dönmezse dışarıdaki sorgu çalıştırılmaz. False değer üretir. S.Mehtap İZMİRLİ AYAN 17.02.2019

Örnek: Ürünlerden en az bir kere satın almış olanların listesini bulalım S.Mehtap İZMİRLİ AYAN 17.02.2019

Hiç alışveriş yapmamış kişilerin listesi S.Mehtap İZMİRLİ AYAN 17.02.2019

ödev Veri Tabanı I kitabı sayfa 352 de bulunan çalışma sorularını yapınız. S.Mehtap İZMİRLİ AYAN 17.02.2019