SQL-запрос в предложении "WHERE IN" - PullRequest
0 голосов
/ 09 августа 2011
select * from tablename 
     where id in(select id from tablename2 where condition UNION select -1)

Можно ли использовать select -1, как будто внутренний запрос ничего не дает, он выдаст ошибку.Это осуществимо или нет?

Ответы [ 3 ]

1 голос
/ 09 августа 2011

imho, inner-select далеко от идеала (медленно)

в зависимости от вашего опубликованного SQL, an inner join сделает свое дело

select * 
from tablename as t1
inner join tablename2 as t2
on t1.id=t2.id
where condition; --- your condition
1 голос
/ 09 августа 2011

Если вам нужно сделать это с помощью подзапроса, то правильный способ сделать это, вероятно, будет:

SELECT *
FROM tablename AS t1
WHERE EXISTS
    (SELECT id 
     FROM tablename2 AS t2
     WHERE conditions)
0 голосов
/ 09 августа 2011

Не выдаст ошибку, если запрос ничего не даст. Он просто возвращает пустой набор результатов.

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