[英]Mysql WHERE NOT EXISTS (query) OR (query)
是否可以編寫一個查詢來檢查子查詢是否正確(而不是子查詢)?
SELECT *
FROM employees e
WHERE NOT EXISTS
(
SELECT null
FROM eotm_dyn d
WHERE d.employeeID = e.id
) OR (select * FROM table c WHERE c.employeeID = e.id)
您的問題有點難以理解,但我想這就是您要的。 它將從employees
表返回記錄,該記錄在表eotm_dyn
和table
中沒有任何相關行。
SELECT *
FROM employees e
WHERE e.id NOT IN
(
(SELECT employeeID
FROM eotm_dyn)
UNION
(SELECT employeeID
FROM table)
)
是的,只需將該OR
條件更改為另一個EXISTS
表達式:
SELECT *
FROM employees e
WHERE NOT EXISTS
(
SELECT null
FROM eotm_dyn d
WHERE d.employeeID = e.id
)
AND NOT EXISTS
(
select null
FROM table c
WHERE c.employeeID = e.id
)
還猜測您的意圖。 這將檢查兩個子查詢的記錄都不存在。 如果您要檢查一個或另一個,我不確定您的意思。
更新:試圖再次想象,也許您打算做一個OR EXISTS
:
SELECT *
FROM employees e
WHERE NOT EXISTS
(
SELECT null
FROM eotm_dyn d
WHERE d.employeeID = e.id
)
OR EXISTS
(
select null
FROM table c
WHERE c.employeeID = e.id
)
這會發現在記錄employees
認為可能是沒有 eotm_dyn
或ARE table
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.