IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi

IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi (https://www.ircrehberi.net/)
-   Webmaster Genel (https://www.ircrehberi.net/webmaster-genel/)
-   -   SQL alt sorgular - iç içe sorgular (https://www.ircrehberi.net/webmaster-genel/77776-sql-alt-sorgular-ic-ice-sorgular.html)

ExCaLuBuR 14 Temmuz 2021 23:28

SQL alt sorgular - iç içe sorgular
 
Alt Sorgular

Çoğunlukla bir sorgulamayı bir tablo ile yapmak mümkün olmaz. Bazen select sorgusundaki şart, başka bir tablodaki verilere göre sınırlandırılmak istenirse aşağıdakine benzer bir sorgu yapısı kullanılması gerekir.

PHP- Kodu:

SELECT
    
*
FROM
    kitap
WHERE
    turno in    
(
                
SELECT turno 
                FROM tur 
                WHERE turad
='ROMAN'
                


Burada önce içteki sorgu çalışıp turnolar ROMAN türünün numarası alınır.

(Bu örnekte bir tane fakat birden fazlada eşleşen tür olabilir.)


Önemli not: Alt sorgularda eşleşen alan sayısı (alan içindeki değerler birden fazla olabilir.) tek olmalıdır.

Birden fazla alanda eşleşme yapılacaksa her şart için ayrı alt sorgular yapılıp AND, OR operatörleri ile birleştirme yapılabilir.


Örnek: Fıkra ve hikaye türündeki kitapların adını ve türünü listeleyin.

PHP- Kodu:

select kitap.kitapaditur.turadi from kitap,tur
where kitap
.turno=tur.turno 
and tur.turadi in ('Hikaye','Fıkra'

Örnek: ROMAN türünde ve ortalama sayfa sayısından büyük olan kitapları listeleyen sorguyu yazınız.

Kod:

SELECT
    *
FROM
    kitap
WHERE
    sayfasayisi >    (
                SELECT AVG(sayfasayisi)
                FROM kitap
                WHERE
                    turno =(
                            SELECT
                                turno
                            FROM
                                tur
                            WHERE turad='ROMAN'
                    )
                )
        AND
        turno=(
            SELECT
                turno
            FROM
                tur
            WHERE turad='ROMAN'
        )

İçteki döngünün çok sayıda değer döndüreceği zamanlarda In, Any ve All komutları sıkça kullanılmaktadır.

SQL IN Komutu

In komutu belirtilen değerlerden herhangi birine eşit olan kayıtları listelemeyi sağlar.

Örnek: Fıkra ve hikaye türündeki kitapların adını ve türünü listeleyin.

PHP- Kodu:

select kitap.kitapaditur.turadi from kitap,tur
where kitap
.turno=tur.turno 
and tur.turadi in ('Hikaye','Fıkra'

SQL ANY ve ALL Komutları

ANY ve ALL operatörleri WHERE veya HAVING yan tümcesiyle kullanılır.

SQL ANY Komutu

Alt sorgu değerlerinden herhangi biri koşulu karşılıyorsa, ANY işleç true değerini döndürür.

SQL ALL Komutu

Tüm alt sorgu değerleri koşulu karşılıyorsa ALL işleci true değerini döndürür.

Örnek: Tür numarası 3 olan kitaplardan en büyük sayfa sayından büyük olan kitapları listeler.

PHP- Kodu:

select from kitap
    where sayfasayisi 
ALL
        
(select sayfasayisi FROM kitap
            where turno
=3

Alternatif sorgu: MAX fonksiyonu ile daha temiz bir sorgu elde edebiliriz.

PHP- Kodu:

select from kitap
    where sayfasayisi 
>
        (
select max(sayfasayisiFROM kitap
            where turno
=3

Örnek: Tür numarası 3 olan en düşük sayfa sayısı olan kitabın sayfa sayısından büyük olan kitapları listeler.


PHP- Kodu:

select from kitap
    where sayfasayisi 
ANY
        
(select sayfasayisi FROM kitap
            where turno
=3

Alternatif sorgu: MIN fonksiyonu ile daha temiz bir sorgu elde edebiliriz.

PHP- Kodu:

select from kitap
    where sayfasayisi 
>
        (
select min(sayfasayisiFROM kitap
            where turno
=3

Kaynak : [Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...]

She 18 Temmuz 2021 08:18

Emeğinize sağlık

Saruhan 18 Temmuz 2021 08:25

Emegine saglık

Sim 23 Temmuz 2021 12:07

emegine saglik paylasim icn tesekkürler

Reyhan 17 Ağustos 2021 00:15

Emeğine sağlık


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 00:35.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.

Copyright ©2019 - 2025 | IRCRehberi.Net