SQL Server在两个不同的表中查找相同的记录

时间:2014-03-21 22:56:39

标签: sql-server

我有两个名为TableX和TableY的表。两者都是相同的表,包含以下列

ID int
Sname varchar(256)

TableX有以下数据

enter image description here

TableY有以下数据

enter image description here

如何编写一个SQL Server语句,向我显示SName上TableX和TableY中的所有匹配记录?

我想看到的结果是

enter image description here

我想只与SName匹配。

感谢社区 尼克

1 个答案:

答案 0 :(得分:2)

SELECT SNAME FROM TABLEX
INTERSECT
SELECT SNAME FROM TABLEY

OR

SELECT X.SNAME
FROM TABLEX X INNER JOIN TABLEY Y
ON X.SNAME = Y.SNAME

OR

SELECT X.SNAME
FROM TABLEX X
WHERE EXISTS (SELECT 1
              FROM TABLEY
              WHERE SNAME = X.SNAME)