Конвертировать не в не существует - PullRequest
1 голос
/ 21 марта 2012

Я хочу преобразовать этот запрос из not in в not exists

select id, name, cat from posts where id not in (1, 100)

как превратить это в не существует

Ответы [ 2 ]

3 голосов
/ 21 марта 2012
SELECT id, 
       NAME, 
       cat 
FROM   posts p 
WHERE  NOT EXISTS (SELECT 1 
                   FROM   (SELECT 1 AS col 
                           FROM   dual 
                           UNION 
                           SELECT 100 AS col 
                           FROM   dual) a 
                   WHERE  p.id = a.col); 

Ваш текущий запрос хорош. Но все же, если вы хотите его использовать NOT EXISTS, попробуйте.

3 голосов
/ 21 марта 2012

Вам не нужно преобразовывать это ... not exists будет уместно, если вы используете подзапрос, а не жестко запрограммированный список значений.

Ваш текущий запрос хорош.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...