sql and or etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sql and or etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
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.
Alt sorgular veri tabanı
performansı açısından daha sonra düşünülmesi gereken çözümler arasında yer
almalıdır.
Alt sorgunun kullanım şekli aşağıda
yer almaktadır:
SELECT liste
FROM tablo
WHERE ifade
işleç
(SELECT
liste
FROM tablo);
Alt Sorgular İle İlgili 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.
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.
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.
SQL Alt Sorgular Ve Alt Sorgu Kuralları Alt Sorgularla ilgili genel kuralla
AND ve OR ifadeleri birden fazla alanda işlem yapılacaksa kullanılan operatörlerdir. AND operatörü birinci durumla beraber ikinci durumunda olduğu zaman kullanılır. OR operatörü ise birinci durum veya ikinci durumun gerçekleşmesi durumunda kullanılır
ANd ve OR Kullanım Biçimi
ANd ve OR Kullanım Biçimi
SELECT alan_adi1,alan_adi2 FROM tablo_adi WHERE alan_adi1=sorgu_degeri AND alan_adi2=sorgu_degeri SELECT alan_adi1,alan_adi2 FROM tablo_adi WHERE alan_adi1=sorgu_degeri OR alan_adi2=sorgu_degeri |
Örnek Tablo Uygulaması:Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | Erzincan | Muhasebe | 3456789 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
Örnek1:
SELECT * FROM Personel WHERE Sehir='İstanbul' AND Bolum='Bilgi İşlem Sorumlusu'
Bu kod tablodaki Sehir alanında İstanbul ve Bolum alanında Bilgi İşlem Sorumlusu yazan kayıtları alır.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
Örnek2:SELECT * FROM Personel WHERE Sehir='İstanbul' AND Sehir='Kocaeli'
Bu kod Sehir alanında İstanbul ve Kocaeli yazan kayıtları alır.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | Kocaeli | İdari İşler Yöneticisi | 2345678 |
4 | İlhan ÖZLÜ | İstanbul | Bİlgi İşlem Sorumlusu | 2345678 |
SQL AND ve OR Kullanımı
Kaydol:
Kayıtlar
(
Atom
)