Ваш вопрос можно задать более четко. Необходимо уделить внимание как вашему естественному языку, так и вашему SQL. Возможно, я не понял ваш вопрос. Обратите внимание, что вы подразумеваете под «Если ни одно из значений кода в таблице2 не равно некоторому набору значений (скажем, 1, 2 и 3), я хочу выбрать значение в таблице1». Вы имеете в виду « строка в таблице 1»? И вместо "равно некоторому набору" вы имеете в виду "найден в каком-то наборе"?
Если у вас есть две таблицы в отношении один ко многим, например, Композиторы и Работы:
COMPOSERS
composerid
composername
DOB
WORKS
workid
workname
composerid
datecomposed
worktype (e.g. sonata, string quartet, quintet, symphony)
и вы хотите найти все произведения композитора, которые не являются сонатами или квинтетами, вы должны сделать это:
select composer.composername, works.workname, worktype
from COMPOSERS inner join WORKS
on COMPOSERS.composerid = WORKS.composerid
WHERE worktype not IN ('sonata','quintet')
ЕСЛИ рабочий тип допускает пустые значения, вам нужно добавить «или рабочий тип равен нулю» к предложению where, если вы хотите, чтобы работы работали без введенного в запись рабочего типа.