我的查询是:
表名:employee
id(pk) name salary
1 prasad 1000
2 prasad 2000
3 gopi 3000
4 gopi 3500
5 seenu 2500
6 nag 1000
我想要只获得被seen和唠叨的记录。上表列名称不是唯一的。
答案 0 :(得分:4)
听起来我想要找到仅没有重复的记录(即只出现一次的名称):
SELECT *
FROM Employee e
WHERE NOT EXISTS(
SELECT e2.ID
FROM Employee e2
WHERE e2.name = e.name AND e2.ID <> e.ID)
答案 1 :(得分:3)
这完全取决于你想要匹配的条件。如果您需要这些特定名称,请使用:
select * from employee where name in ('seenu','nag');
如果您希望ID超过4:
select * from employee where id > 4;
如果您想要不重复的名称:
select * from employee group by name having count(*) = 1;
正如您所看到的,根据您的实际需求(可能会更多地充实),有很多种可能性。
答案 2 :(得分:3)
SELECT name
FROM employee
GROUP by name
HAVING COUNT(*) = 1;
答案 3 :(得分:1)
答案 4 :(得分:0)
根据您提供的有限详情,我只能猜测,但我们可以说
SELECT *
FROM employee
WHERE name IN ('seenu','nag')