1. 连接查询概述
连接查询即为查询多个表中的数据,这种查询方式可以让我们获取到关系型数据库中多个表之间的相关数据。在连接查询中,我们需要使用JOIN语句对多个表进行联合查询,JOIN语句中需要指定连接的表以及连接条件。连接条件通常为两个表之间的主键和外键的关联关系。
1.1 连接类型
在连接查询中,有多种连接类型,不同的连接类型会影响到查询的结果。主要连接类型如下:
INNER JOIN:只查询两个表中符合条件的记录。
LEFT JOIN:查询左表中所有记录,并与右表中符合条件的记录进行匹配。
RIGHT JOIN:查询右表中所有记录,并与左表中符合条件的记录进行匹配。
FULL JOIN:查询两个表中所有记录,如果记录在另一张表中不存在,则用NULL填充。
1.2 连接查询示例
我们以一个实际案例进行连接查询实现。
假设有两张表,一张是员工基本信息表(t_employee),表结构如下:
CREATE TABLE t_employee
(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
gender VARCHAR(2),
age INT,
department_id INT
);
另一张表是部门信息表(t_department),表结构如下:
CREATE TABLE t_department
(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20)
);
我们现在需要查询所有员工及其所属的部门名称,可以通过以下SQL语句实现:
SELECT e.name, d.name AS department
FROM t_employee e
INNER JOIN t_department d
ON e.department_id = d.id;
执行以上SQL语句后,将会返回所有员工的姓名和所属部门名称。