昆明seo网站,兰州建设,手机设计房子的软件,设计师自己做网站一、MySQL内连接#xff08;INNER JOIN#xff09;
内连接#xff0c;又称为等值连接#xff0c;是最常见的连接类型。它根据两个#xff08;或多个#xff09;表中具有相同列值的行来创建一个新的结果表。在内连接中#xff0c;只有通过连接条件匹配的行才会被包含在结…一、MySQL内连接INNER JOIN
内连接又称为等值连接是最常见的连接类型。它根据两个或多个表中具有相同列值的行来创建一个新的结果表。在内连接中只有通过连接条件匹配的行才会被包含在结果集中。
1.1 基本语法
内连接的基本语法如下
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name table2.column_name;1.2 示例
假设我们有两个表employees 和 departments。
employees 表
emp_idemp_namedept_id1John12Jane13Mark24Anna25Steve3
departments 表
dept_iddept_name1HR2IT3Operations
使用内连接查询员工及其所属部门
SELECT employees.emp_name, departments.dept_name
FROM employees
INNER JOIN departments
ON employees.dept_id departments.dept_id;结果集
emp_namedept_nameJohnHRJaneHRMarkITAnnaITSteveOperations
二、MySQL外连接OUTER JOIN
外连接用于获取在至少一个表中存在的行即使在另一个表中没有匹配的行。MySQL支持左外连接LEFT OUTER JOIN和右外连接RIGHT OUTER JOIN。
2.1 左外连接LEFT OUTER JOIN
左外连接会返回左表table1的所有行以及与之匹配的右表table2的行。如果在右表中没有匹配的行则结果集中将显示NULL值。
2.1.1 基本语法
左外连接的基本语法如下
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name table2.column_name;2.1.2 示例
使用左外连接查询员工及其所属部门并显示没有分配部门的员工
SELECT employees.emp_name, departments.dept_name
FROM employees
LEFT OUTER JOIN departments
ON employees.dept_id departments.dept_id;2.2 右外连接RIGHT OUTER JOIN
右外连接会返回右表table2的所有行以及与之匹配的左表table1的行。如果在左表中没有匹配的行则结果集中将显示NULL值。
2.2.1 基本语法
右外连接的基本语法如下
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name table2.column_name;2.2.2 示例
使用右外连接查询所有部门及其员工包括没有员工的部门
SELECT employees.emp_name, departments.dept_name
FROM employees
RIGHT OUTER JOIN departments
ON employees.dept_id departments.dept_id;