You may use COUNT
analytical function.
SQL Fiddle
Oracle 11g R2 Schema Setup:
CREATE TABLE emp
(Empid int, Deptid int, Email varchar2(16))
;
INSERT ALL
INTO emp (Empid, Deptid, Email)
VALUES (39, 42, 'uni@mail.com')
INTO emp (Empid, Deptid, Email)
VALUES (38, 43, 'uni@mail.com')
INTO emp (Empid, Deptid, Email)
VALUES (37, 44, 'uni@mail.com')
INTO emp (Empid, Deptid, Email)
VALUES (25, 35, 'unique@maill.com')
INTO emp (Empid, Deptid, Email)
VALUES (26, 36, 'second@maill.com')
SELECT * FROM dual
;
Query 1:
SELECT Empid, Deptid, Email
FROM (SELECT e.*, COUNT (Empid) OVER (PARTITION BY Email) ct
FROM emp e)
WHERE ct = 1
Results:
| EMPID | DEPTID | EMAIL |
|-------|--------|------------------|
| 26 | 36 | second@maill.com |
| 25 | 35 | unique@maill.com |