我正在尝试选择数据库中子查询中不存在的所有记录。
由于某种原因,即使子查询返回2000左右的行并且主查询返回超过5000,它也不返回任何内容。我需要子查询中未包含的所有记录
SELECT ID
FROM PART
WHERE NOT ID IN
(
SELECT DOCUMENT_ID AS ID
FROM USER_DEF_FIELDS
WHERE PROGRAM_ID = 'VMPRTMNT' AND ID = 'UDF-0000029'
)
答案 0 :(得分:3)
这更好地写为相关的NOT EXISTS子查询。
SELECT ID
FROM PART
WHERE NOT EXISTS
(
SELECT 1
FROM USER_DEF_FIELDS
WHERE PROGRAM_ID = 'VMPRTMNT'
AND ID = 'UDF-0000029'
AND DOCUMENT_ID = PART.ID
)