如何选择某些列中具有相同值的所有行

Win*_*der 24 sql sql-server inner-join

我是sql的新手,所以请善待.

假设我必须显示所有具有相同电话号码的employee_ids(两列都在同一个表中)

我如何继续这个问题内部联接或什么.

agu*_*luc 33

SELECT * FROM employees e1, employees e2 
WHERE e1.phoneNumber = e2.phoneNumber 
AND e1.id != e2.id;
Run Code Online (Sandbox Code Playgroud)

更新:为了更好的性能和更快的查询,它的好处e1之前添加*

SELECT e1.* FROM employees e1, employees e2 
WHERE e1.phoneNumber = e2.phoneNumber 
AND e1.id != e2.id;
Run Code Online (Sandbox Code Playgroud)


Adr*_*der 32

怎么样

SELECT *
FROM Employees
WHERE PhoneNumber IN (
    SELECT PhoneNumber
    FROM Employees
    GROUP BY PhoneNumber
    HAVING COUNT(Employee_ID) > 1
    )
Run Code Online (Sandbox Code Playgroud)

SQL Fiddle DEMO