排除查询一个表在另一个表中存在的数据
例如:
- 任务完成后列表中不再显示该任务
- 任务领取后的记录表中存在的数据,在任务列表里不在显示
- task 任务表、task_sign 任务记录表
SELECT
*
FROM
`sz_task`
WHERE
AND (
SELECT
count( * ) AS num
FROM
sz_task_sign
WHERE
`sz_task`.id = `sz_task_sign`.task_id AND STATUS = '3'
AND user_id = 1
) = 0
注意:
- 如果子查询中的 ( SELECT count( * ) AS num FROM sz_task_sign WHERE
sz_task
.id =sz_task_sign
.task_id AND STATUS = '3' AND user_id = 1 ) = 1 则条件刚好相反
555