Webmaster Destek Forumu

Yarınların için bir şey yapmazsan, ölene dek Alarm kurmaya mahkumsun !
İletişim
  • Webmaster forumu olarak, web geliştirme ve dijital pazarlama gibi konularda bilgi paylaşımı yapabileceğiniz webmaster sitesi ve freelancer forumu kategorilerimizle size en iyi deneyimi sunuyoruz! katılım ve kullanım tamamen Ücretsizdir!

SQL alt sorgular - iç içe sorgular

EnteL

Forum Üyesi
Katılım
18 Eki 2022
Mesajlar
100
Puanları
0
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.kitapadi, tur.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.kitapadi, tur.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(sayfasayisi) FROM 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(sayfasayisi) FROM kitap
where turno
=3)

 

Webmaster Forumları

Webmaster forumu arayanlar için en doğru adreslerden biri olan sitemiz, geniş içerik yelpazesiyle webmaster dünyasına dair her türlü ihtiyacınıza cevap vermektedir. Xenforo destek hizmetlerimizden faydalanabilir, ücretsiz scriptler ve ücretsiz backlink olanaklarından yararlanabilirsiniz. Sitemiz ayrıca, SEO çalışmaları yapmak isteyenler için en kapsamlı SEO forumları arasında yer almaktadır.

Webmaster Forumu

Sitemizde makale satışı, link değişimi, web site tanıtımı gibi işlemleri güvenle gerçekleştirebilirsiniz. Özellikle tanıtım yazısı ile sitenizin görünürlüğünü artırabilir, geniş kitlelere ulaşabilirsiniz. Ayrıca, sosyal medya uzmanlarına yönelik özel bir sosyal medya forumu ile dijital dünyada fark yaratmak isteyen herkesin buluşma noktasıyız.

Katılım sağlamak ve bilgi paylaşımında bulunmak için türkçe webmaster forumları arasında en iyisi olan platformumuzda siz de yerinizi alın!

Üst