用于捕获具有不同ID的类似行的SQL语句

spe*_*peg 3 sql sql-server sql-server-2005

我有一张桌子:

term_id    course_id

1          592
1          603
2          592
2          603
2          700
Run Code Online (Sandbox Code Playgroud)

如何创建查询以选择术语1和2中的所有course_ids?

Mar*_*ith 8

SELECT course_id
FROM T 
WHERE term_id=1
INTERSECT
SELECT course_id
FROM T 
WHERE term_id=2
Run Code Online (Sandbox Code Playgroud)

要么

SELECT course_id
FROM T 
WHERE term_id IN (1,2)
GROUP BY course_id
HAVING COUNT(DISTINCT term_id) = 2
Run Code Online (Sandbox Code Playgroud)