📅  最后修改于: 2023-12-03 15:25:24.784000             🧑  作者: Mango
左连接是SQL语言中最常用的连接类型之一。它是指将两个表连接在一起,但是关联的表中,以左表为基础,会将左表中的所有数据列出,同时将右表中符合条件的数据合并在一起。如果右表中没有匹配的数据,则在结果中保留左表的数据,右表的结果为NULL值。
SELECT column1, column2, ... FROM table1 LEFT [OUTER] JOIN table2 ON condition;
在上述语句中,table1和table2是要连接的表,condition是连接的条件。
我们将通过以下示例来更好地理解左连接的概念。
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
department VARCHAR(50)
);
INSERT INTO employees (id, name, department) VALUES
(1, 'John Smith', 'Sales'),
(2, 'Jane Doe', 'Marketing'),
(3, 'Jack Johnson', 'Sales'),
(4, 'Bob Jones', 'Management'),
(5, 'Samantha Lee', 'Marketing');
CREATE TABLE orders (
id INT PRIMARY KEY,
employee_id INT,
product VARCHAR(50)
);
INSERT INTO orders (id, employee_id, product) VALUES
(1, 1, 'Product A'),
(2, 3, 'Product B'),
(3, 1, 'Product C'),
(4, 2, 'Product A'),
(5, 5, 'Product B');
SELECT employees.name, orders.product
FROM employees
LEFT JOIN orders
ON employees.id = orders.employee_id;
| name | product |
|---------------|-------------|
| John Smith | Product A |
| John Smith | Product C |
| Jane Doe | Product A |
| Jack Johnson | Product B |
| Bob Jones | NULL |
| Samantha Lee | Product B |
在上述示例中,我们使用了左连接将employees表和orders表连接在一起。我们得到了每个员工的名字和他们的订单产品。我们可以看到,由于Bob Jones在orders表中没有订单,所以在结果中它的product一栏为NULL值。
左连接是SQL语言中非常常用的连接类型之一,它可以将两个表连接在一起,并且可以将左表所有数据列出,既包含右表符合条件的数据,也包含右表中没有匹配的数据,结果为NULL值。它可以用于解决数据的多表查询问题。