Exists Ve Not Exists İfadelerinin Kullanımı

WHERE ile IN ifadesinin kullanımına benzer olarak, EXISTS ve NOT EXISTS ifadeleride alt sorgudan getirilen değerlerin içerisinde bir değerin olması veya olmaması durumunda işlem yapılmasını sağlar.

Exists Ve Not Exists İfadelerinin Kullanımı

Exists Ve Not Exists İfadelerinin Kullanımı

WHERE ile IN ifadesinin kullanımına benzer olarak, EXISTS ve NOT EXISTS ifadeleride alt sorgudan getirilen değerlerin içerisinde bir değerin olması veya olmaması durumunda işlem yapılmasını sağlar. EXISTS ifadesi kullanıldığında, alt sorguda istenilen şartların yerine getirildiği durumlarda üstteki sorgu değer üretir. NOT EXITS ise EXISTS’in tam tersi olarak alt sorguda istenilen şartların sağlanmadığı durumlarda üstteki sorgu değer üretir.

Örnekte EXISTS ifadesinin kullanımı yer almaktadır.

Exist Kullanımı(Sql)

Üstteki koddan biraz bahsetmek gerekirse Ogrenci tablosundaki öğrencilerin adını listeleyen bir sorgu var fakat gelecek olan öğrenciler where kısmındaki koşula göre listelenecek bu koşul açıklaması ise şöyle eğer öğrencinin BolumID alanındaki değer Bolum tablosunda BolumID alanında var ise o zaman ilgili öğrenci listelenecektir.

Not Exists Kullanımı(Sql)

Üstteki exists örneğimizin tam tersini yapıyoruz şimdide bu sorguyu açıklamak gerekirse bolum tablosunda ilgili öğrenicinin bölümüne karşılık gelen bölüm yok ise o zaman sorgulaması yapılan öğrenci listelenecektir.

Kaynak;

Exists Ve Not Exists İfadelerinin Kullanımı
4.3 (85%) 8 oy

11 yorum

  1. ben c# içindeki verileri çekip eğer içinde o değer yer almıyorsa onu sql e yazdırılmasını istiyorum bunu nasıl yapabilirim??

    1. Yanlış anlamadıysam şöyle birşey yapmak istiyorsunuz veritabanında bir tablodan kontrol yapıp eğer kayıt yoksa insert yaptırmak istiyorsunuz doğrumudur?

        1. O zaman ihtiyacınız olan kod şu şekilde.

          IF NOT EXISTS(SELECT * FROM Tablo WHERE Alan1='Deger1')
          BEGIN
          INSERT INTO Tablo (Alan1, Alan2)
          VALUES ( 'Deger1' , 'Deger2' )
          END

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.