SQL查询重复值的小问题???!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/11 15:51:18
--查找重复姓名
--先插入一条重复数据
insert into sarlay (sname,s_sarlay,depid) values ('小林',-100,3);
--查询
select s1.sname from sarlay s1,sarlay s2 where s1.sid <> s2.sid and s1.sname = s2.sname

能翻译一下查询的语句是什么意思吗??

select s1.sname from sarlay s1,sarlay s2 where s1.sid <> s2.sid and s1.sname = s2.sname
这条语句是这样的:

把表SARLAY拆分成了两个子表,分别命名为S1和S2。

连接条件是两表的SNAME相同,但是SID不同。

如果同样的SNAME出现了两次或两次以上,即有两个或两个以上不同的SID,就会被查询出来。

对于SNAME出现一次的记录不会被显示。
对于多次出现的SNAME,但SID也相同的记录也不会显示

需要这么写么?
看不懂就别看上面的SQL了.抛弃那种写法

SELECT sname, COUNT (*) cnt
FROM sarlay
GROUP BY sname
HAVING COUNT (*) > 1
/

相同表名?