Menu
CoddyTech

INTERSECT

本课属于 Coddy SQL 学习旅程的“进阶内容”单元。第 17 课,共 27 课。

INTERSECT 只返回出现在两个结果集中的行。和 UNION 一样,它会删除重复项,并要求两侧的列相匹配。

SELECT email FROM newsletter_subs
INTERSECT
SELECT email FROM premium_users

这样就能找出所有既订阅了新闻简报又是高级用户的邮箱,无需编写连接查询。

为什么要费这个功夫,明明用 JOIN 也能做到?当两边都是简单的 SELECT,并且你匹配的是整行而不只是 id 时,INTERSECT 更简短。

challenge icon

挑战

简单

可用的表和列:

  • newsletter:email,active
  • premium:email,plan

返回既是活跃的 newsletter 订阅者(active = 1</code),<strong>又</strong>是使用 <code>'pro' 方案的高级用户的电子邮件。按字母顺序排序。

亲手试试

-- 在 INTERSECT 之前分别筛选两侧的数据
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

进阶内容中的所有课

自己练习: SQL 在线编辑器