考虑以下 Table_A 和 Table_B:
Table_A
ID |A_Field_1
1 |10
2 |11
3 |12
表_B:
ID |B_Field_1
1 |500
1 |510
1 |520
2 |550
3 |530
我需要编写一个查询 where in 来获取ID
和A_Field_1
for 值中Table_B
没有B_Field_1
520 或 530 的值。
输出:
ID |A_FIELD_1
2 |11
我目前的查询如下:
SELECT ID,A_Field_1
from Table_A
where ID not in (select ID from Table_B where B_Field_1 in (520,530))
这可行,但有人可以提供更好的基于性能的查询吗?与上面的查询一样,select ID from Table_B where B_Field_1 in (520,530)
内部查询很大并且对应于一个不断增长的表。