Devam Et
Logo
Blog
SQL

MS SQL'de İki Tabloyu Karşılaştırma (Except)

MS SQL'de kafa karıştıran konulardan birisi de iki farklı tablo arasındaki kayıt farklılıklarını bulmak. Bu tarz konu anlatımlarında genellikle örnek üzerinden anlatmak daha anlaşılabilir olduğu için bende bir örnek üzerinden gideyim. 

Diyelimki Veritabanımızda Matematik ve Türkçe adında, bu desrleri alan öğrencilerin kayıtlı olduğu tablolar var ve biz matematik dersini alıp tükrçe dersini almayan öğrencileri çekmek istiyoruz. Ozaman bizim kullanacağımız ifade except olacaktır. Mantığını aşağıdaki resim üzerinden söyleyecek olursak, Matematik except Türkçe : matematik dersini alan ancak türkçe dersini almayan (yani matematik tablosunda kaydı bulunan ancak türkçe tablosunda kaydı bulunmayan) öğrencileri verir, Türkçe except Matematik ise Türkçe dersini alan ancak matematik dersini almayan (yani türkçe tablosunda kaydı bulunan ancak matematik tablosunda kaydı bulunmayan) öğrencileri verir. 

  

Bunun SQL dilinde yazılması ise gayet basit, Matematik except Türkçe ifadesi için yazacak olursak;

select * from Matematik 
except
select * from Türkçe

Burada select ifadelirinin yanına istediğiniz gibi where koşulunu falan yazabilirsiniz. Burada dikkat etmeniz gereken tek şey; iki tablonun kolon sayılarının ve isimlerinin aynı olmasıdır. Eğer kolon sayısı veya isimleri farklı iki tablo üzerinde bu karşılaştırmayı yapacaksanız, select * yerine select Ad, Soyad spesifik kolonları çekerek bu karşılaştırmayı yapmalısınız.

Eğer yapamadığınız bir yer olursa yorum kısmından yazarak bizlere yöneltebilirsiniz. 

Author

Muhammed Yusuf TAŞKESENLİGİL

Hakkında: Hakkında: 2015 Haziran ayında KTÜ Bilgisayar Mühendisliği bölümünden mezun oldum. Yaklaşık 4 yıldır web teknolojileri üzerinde çalışıyorum. HTML, CSS, JavaScript ve PHP alanlarında proje geliştiriyorum. Teknolojiyi seven ve hayatının her alanında kullanan biriyim.

2017 Türkiye İl - İlçe İsimleri Veritabanı Sonraki Yazı

0 Yorum

    Henüz hiç yorum eklenmemiş!

Bir Yorumda Sen Bırak