我可以使用什么 T-sql 查询来确保来自一个 table 的所有 ID 在一秒钟内出现 table

What T-sql query can i use to ensure all ids from one table are present in a second table

我有 table 个必答题。

我还有另一个 table 用于学生回答。

如何编写 sql 查询来检查 所有 必填问题 ID 是否存在于特定学生的答案 table 中?

我试过:

if exists(select * from scores s where s.matric=@matric and s.qid not in (select qid from questions q where q.required=1))
    select 0
else
    select 1

没有 运行 测试,但乍一看,我会翻转 select 语句,类似于以下内容:

SELECT 1
FROM Questions
WHERE [Required] = 1
    AND qid NOT IN (
                        SELECT qid
                        FROM Scores s
                        WHERE s.matric = @matric
                     )

这是另一种写法,在问题 ID 集和回答 ID 集之间使用 EXCEPT

IF EXISTS (
    SELECT qid FROM questions WHERE required=1
    EXCEPT
    SELECT qid FROM scores WHERE matric=@matric
)
    SELECT 'Some or all questions unanswered';
ELSE
    SELECT 'All questions answered';