SELECT t1.column1, t1.column2, ..., t2.column1, t2.column2, ...
FROM table_name t1
JOIN table_name t2 ON t1.related_column = t2.related_column;
其中:
- table_name 是要连接的表。
- t1 和 t2 是表的别名,用于区分两个表的实例。
- related_column 是连接的条件,表示两个表中用于匹配的列。
示例:
假设有一个表 employees 包含员工的信息,其中有一列 manager_id 表示员工的直接经理。我们可以使用自连接查找每个员工及其直接经理的信息:
SELECT e.employee_id, e.employee_name, e.manager_id, m.employee_name AS manager_name
FROM employees e
JOIN employees m ON e.manager_id = m.employee_id;
在这个例子中,employees 表通过自连接,将员工表的两个实例(分别表示员工和经理)连接在一起。查询返回每个员工及其直接经理的信息,通过别名 e 和 m 区分了两个表的实例。
自连接在需要在同一表中查找相关数据关系时非常有用,例如,查找员工和他们的直接经理之间的关系。
转载请注明出处:http://www.zyzy.cn/article/detail/3328/SQL