select * from tablename
where id in(select id from tablename2 where condition UNION select -1)
可以使用select -1,就好像內部查詢不會導致任何錯誤一樣。這是可行的或不可行?在「WHERE IN」子句中的sql查詢
select * from tablename
where id in(select id from tablename2 where condition UNION select -1)
可以使用select -1,就好像內部查詢不會導致任何錯誤一樣。這是可行的或不可行?在「WHERE IN」子句中的sql查詢
恕我直言,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
如果你不得不把它與一個子查詢,那麼正確的方式完成要做到這一點可能是:
SELECT *
FROM tablename AS t1
WHERE EXISTS
(SELECT id
FROM tablename2 AS t2
WHERE conditions)
如果內部查詢不返回任何內容,那麼外部查詢中不會返回一行。你遇到了什麼錯誤? – Jacob
如果內部查詢沒有返回任何值,我不認爲它會導致錯誤。 –
知道了..如果我們保持在()空白,那麼只有它會給出錯誤。如果內部查詢返回空查詢將返回空結果。謝謝反正 – jit