Sql 从具有超集值的表中排除子集

Sql 从具有超集值的表中排除子集,sql,sql-server,Sql,Sql Server,表1有员工ID和代码,其中每个员工都有超集代码和子集代码 +-------------+------+ |员工ID |代码| +-------------+------+ | 111 | 18 | | 111 | 19 | | 111 | 20 | | 111 | 21 | | 222 | 40 | | 222 | 41 | | 222 | 42 | +--

表1有员工ID和代码,其中每个员工都有超集代码和子集代码

+-------------+------+
|员工ID |代码|
+-------------+------+
|         111 |   18 |
|         111 |   19 |
|         111 |   20 |
|         111 |   21 |
|         222 |   40 |
|         222 |   41 |
|         222 |   42 |
+-------------+------+
表2有超集代码和子集代码

+---------------+-------------+
|超集码|子集码|
+---------------+-------------+
|            18 |          19 |
|            18 |          20 |
|            18 |          21 |
|            40 |          41 |
|            40 |          42 |
+---------------+-------------+
我想输出员工id和超集代码单独。 预期结果表:

+-------------+------+
|员工ID |代码|
+-------------+------+
|         111 |   18 |
|         222 |   40 |
+-------------+------+

如何使用sql查询导出此输出?

我想您希望
存在

select t1.*
from table1 t1
where exists (select 1 from table2 t2 where t2.supersetcode = t1.code);

为了提高性能,您需要在
table2(supersetcode)

上建立索引,不要发布word文档的图像;将问题中的文本(数据)作为文本。最好提供DDL和DML语句,但是,如果没有,则采用表格格式
文本
。#@Lakshmi,当您发布表格数据时,请将其格式化。例如,您尝试过什么吗???如果没有,那就开始工作吧。谢谢,这很有效!我在一个不存在的地方工作,花了太多时间time@Lakshmi如果Gordon的回答解决了您的问题,请接受。