下面的例子列出了购买了相同的产品的所有顾客。请注意结果集中的第一行和第三行中， buyerl 和它自己进行了比较，第四行和第七行中，buyer4 和它自己进行了比较。而第二行和第六行比较了两次。

USE joindb

SELECT a.buyer_id AS buyerl, a.prod_id, b.buyer_id AS buyer2

FROM sales AS a

INNER JOIN sales AS b

ON a.prod_id = b.prod_id

GO

下面的例子将显示购买的所有产品都相同的顾客，但这个查询消除了重复的记录，如 buyerl 和 buyer4 和自己进行比较的记录。

比较 例 l 和例 2 中的结果集。请注意，通过使用 WHERE 子句中的操作符 <>，而消除了重复的记录。但是，结果集中其它的重复记录仍然存在，这是由于不同的记录间互相比较造成的，换句话说，这个查询不会消除由互为镜像而造成的重复记录 。

USE joindb

SELECT a.buyer_id AS buyerl, a.prod_id, b.buyer_id AS buyer2

FROM sales AS a

INNER JOIN sales AS b

ON a.prod_id = b.prod_id

WHERE a.buyer_id <> b.buyer_id

GO

运行结果：

下面的例子将显示购买的所有产品都相同的顾客。

请注意当 WHERE 子句中使用了操作符 >时，所有重复的记录都将被消除。

USE joindb

SELECT a.buyer_id AS buyerl, a.prod_id, b.buyer_id AS buyer2

FROM sales AS a

INNER JOIN sales AS b

ON a.prod_id = b.prod_id

WHERE a.buyer_id > b. buyer_id

GO

运行结果：

下面的例子列出了具有相同头衔的雇员。在 WHERE 子句中使用了操作符“ <”， 从而消除了由于和自身相比而造成的重复记录。

USE northwind

SELECT a.employeeid, LEFT(a.lastname, 10) AS name

, LEFT(a.title, 10) AS titile

, b.employeeid, LEFT(b.lastname, 10) AS name

, LEFT(b.title, 10) AS title

FROM employees AS a

INNER JOIN employees AS b

ON a.title = b.title

WHERE a.employeeid < b.employeeid

GO

运行结果：