Найдите уникальные имена, используя exists или not exists

#sql #subquery #distinct #exists

#sql #подзапрос #distinct #существует

Вопрос:

Таблица vales :

 id  Name
1   rahul
2   john
3   Aswin
4   jerry
5   jack
6   john
 

Я хочу напечатать уникальные имена, т.Е. Список без использования Джона Exists или Not Exists в запросе.

Ответ №1:

Вы можете сделать:

 select name
from vales v
where not exists (select 1 from vales v1 where v1.name = v.name and v1.id <> v.id)
 

Обратите внимание, что агрегирование также является возможным решением (хотя это не используется exists ):

 select name
from vales
group by name
having count(*) = 1