Harun Reşit Zafer

bâki kalan bu kubbede bir hoş sadâ imiş

SQL 09: IN İşleci

Schema SQL

WHERE ifadesi içinde birden fazla değeri koşul olarak belirlemek istediğimizde IN (içinde) anahtar sözcüğünü kullanırız. Daha iyi anlamak için hemen örneklere geçelim.

Örnekler için aşağıdaki personel tablosunu kullanacağız.

Not: Bu arada diğer SQL derslerine buradan ulaşabilirsiniz

per_no isim soyisim yas cinsiyet kent ulke maas
1 Ahmet Yılmaz 20 E Ankara Türkiye 2000
2 Mehmet Efe 22 E Bolu Türkiye 1800
3 Ayşe Can 23 K İstanbul Türkiye 2500
4 Fatma Ak 35 K Ankara Türkiye 2800
5 John Smith 45 E New York ABD 3500
6 Ellen Smith 40 K New York ABD 3000
7 Hans Müller 30 E Berlin Almanya 4000
8 Frank Cesanne 35 E Paris Fransa 3700
9 Abbas Demir 26 E Adana Türkiye 1500
10 Hatice Yılmaz 26 K İstanbul Türkiye 3000

Sorgu:  Yaşı 22, 23, 25, 26 sayılarından birine eşit olanlar.

SELECT * FROM personel WHERE yas IN (22, 23, 25, 26)

veya

SELECT * FROM personel WHERE yas=22 OR yas=23 OR yas=25 OR yas=26

Her iki sorgunun da çıktısı aşağıdaki gibi olacaktır:

per_no isim soyisim yas cinsiyet kent ulke maas
2 Mehmet Efe 22 E Bolu Türkiye 1800
3 Ayşe Can 23 K İstanbul Türkiye 2500
9 Abbas Demir 26 E Adana Türkiye 1500
10 Hatice Yılmaz 26 K İstanbul Türkiye 3000

Görüldüğü gibi iki sorgu aynı işi yapıyor. Ancak OR ile yazdığımız sorgu daha uzun ve karışık görünüyor. Ancak In işlecinin tek faydası sağladığı bu pratiklik değil. Gerisini ileriki konulara havale edelim.

Sorgu: İsimleri Ahmet veya Mehmet olan personel

SELECT * FROM personel WHERE isim IN ('Ahmet', 'Mehmet')

veya

SELECT * FROM personel WHERE isim='Ahmet' OR isim= 'Mehmet'

Her iki sorgunun da çıktısı aşağıdaki gibi olacaktır:

per_no isim soyisim yas cinsiyet kent ulke maas
1 Ahmet Yılmaz 20 E Ankara Türkiye 2000
2 Mehmet Efe 22 E Bolu Türkiye 1800

İsim, soyisim gibi metin değerleri yukarıdaki gibi tek tırnak içerisinde yazmayı unutmayın.

Herkese Kolay Gelsin

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone

7 Yorum

  1. Serkan Denizbey

    05 Ocak 2010 at 07:19

    İnternette şahit olduğum en anlaşılabilir SQL yazılarını blogunuzda okudum. Çok teşekkür ederim. Devamınında gelmesini hem umut, hem de rica ediyorum. Çalışmalarınızda başarılar dilerim.

  2. Serkan TOGAL

    22 Ocak 2010 at 16:43

    Güzel anlatım. Örnekler gayet açıklayıcı.

  3. eyw.çok güzel anlatım olmuş.

  4. Selim ışık

    15 Nisan 2011 at 12:18

    Hocam harika olmuş.Allah razı olsun.

  5. FROM TABLO1
    WHERE (TABLO1.vhs_carikod =
    (SELECT cari_1.kod AS carikod
    FROM dbo.cari AS cari_1 INNER JOIN
    dbo.w_cari_adres_HIZLI ON cari_1.kod = dbo.w_cari_adres_HIZLI.cari_kod WHERE (dbo.w_cari_adres_HIZLI.adr_no IS NULL))

    iç içe sorguları nasıl yapıyoruz. mesela ADRES NOSU NULL OLAN CARİLERİ LİSTELEMEK İSTİYORUM.

  6. Emeğinize sağlık hocam çok teşekkürler :)

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak

*

© 2016 Harun Reşit Zafer

Temayı tasarlayanAnders NorenYukarı ↑