MySQL——联表查询JoinON详解
在MySQL中,联表查询通常使用JOIN
子句来实现,其中最常见的是INNER JOIN
(内联接)、LEFT JOIN
(左外联接)、RIGHT JOIN
(右外联接)和CROSS JOIN
(交叉联接)。ON
子句用于指定联接条件,它定义了表之间的关联方式。
以下是一个简单的例子,演示如何使用ON
子句进行联表查询:
假设我们有两个表,一个是employees
表,存储员工信息,另一个是departments
表,存储部门信息。
employees
表:
+-------------+-----------+----------------+
| employee_id | name | department_id |
+-------------+-----------+----------------+
| 1 | Alice | 1 |
| 2 | Bob | 2 |
| 3 | Charlie | 1 |
+-------------+-----------+----------------+
departments
表:
+-------------+-------------+
| department_id | name |
+-------------+-------------+
| 1 | HR |
| 2 | Engineering |
| 3 | Marketing |
+-------------+-------------+
如果我们想要查询所有员工及其所在部门的信息,我们可以使用INNER JOIN
来联接两个表:
SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id;
这个查询将返回所有在employees
表中有对应department_id
的员工及其部门名称。
ON
子句中的条件employees.department_id = departments.department_id
定义了两个表之间通过department_id
字段进行关联的联接逻辑。只有当两个表中的department_id
相同时,才会返回对应的记录。
评论已关闭