A self join is basically when a table is joined to itself. We can think a join is performed between two identical copies of that table.
SELECT employee_name FROM employee WHERE employee_location in
( SELECT employee_location FROM employee WHERE employee_name = "Joe")
Using a subquery for such a simple question is inefficient.
Show each employee’s name, and his/her manager’s name:
SELECT e1.Name, e2.Name FROM Employee e1
INNER JOIN Employee e2 ON e1.ManagerID = e2.EmployeeID
SELECT e1.employee_name FROM employee e1, employee e2
WHERE e1.employee_location = e2.employee_location AND e2.employee_name="Joe";Read full article from
SQL/Databases: What is a self join?
SELECT employee_name FROM employee WHERE employee_location in
( SELECT employee_location FROM employee WHERE employee_name = "Joe")
Using a subquery for such a simple question is inefficient.
Show each employee’s name, and his/her manager’s name:
SELECT e1.Name, e2.Name FROM Employee e1
INNER JOIN Employee e2 ON e1.ManagerID = e2.EmployeeID
SELECT e1.employee_name FROM employee e1, employee e2
WHERE e1.employee_location = e2.employee_location AND e2.employee_name="Joe";Read full article from
SQL/Databases: What is a self join?
No comments:
Post a Comment