The 4th way is to use `EXCEPT` (aka `MINUS`) where the RDBMS supports it. This should give the same execution plan as `NOT EXISTS` DECLARE @NoDateWanted date = '20110922'; SELECT id, @NoDateWanted AS tarih FROM kimlik EXCEPT SELECT id, @NoDateWanted FROM siparis WHERE tarih = @NoDateWanted; You'll have to add the date filter in as a constant. When you check for "no rows" there is no row to pull the data from of course.