a.mat_list_status IN (1,3,4)用 EXISTS 代替in
时间: 2024-03-30 21:38:38 浏览: 67
SQL语句优化——in,not in,exists,not exists, left join...on博客所需SQL语句2.txt
5星 · 资源好评率100%
可以使用EXISTS代替IN的写法,如下所示:
SELECT *
FROM TABLE_A a
WHERE EXISTS (
SELECT 1
FROM TABLE_B b
WHERE b.mat_list_status IN (1, 3, 4)
AND a.mat_list_status = b.mat_list_status
);
这里使用EXISTS子句将TABLE_B表连接到主查询中,从而达到替代IN的效果。在子查询中,我们筛选出mat_list_status为1、3、4的记录,然后将其与TABLE_A表中的记录进行比较,如果存在相同的mat_list_status,就返回TABLE_A表中的记录。
阅读全文