-- 示例表:employees 和 departments
-- 创建 employees 表
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
department_id INT
);
-- 创建 departments 表
CREATE TABLE departments (
id INT PRIMARY KEY,
name VARCHAR(50)
);
-- 插入一些示例数据
INSERT INTO employees (id, name, department_id) VALUES
(1, 'Alice', 1),
(2, 'Bob', 2),
(3, 'Charlie', NULL);
INSERT INTO departments (id, name) VALUES
(1, 'HR'),
(2, 'Engineering');
-- 使用 JOIN 查询
SELECT e.name AS employee_name, d.name AS department_name
FROM employees e
JOIN departments d ON e.department_id = d.id;
-- 解释:JOIN 只会返回两个表中匹配的记录。在这个例子中,只有 Alice 和 Bob 的记录会被返回,因为 Charlie 的 department_id 是 NULL。
-- 使用 LEFT JOIN 查询
SELECT e.name AS employee_name, d.name AS department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.id;
-- 解释:LEFT JOIN 会返回左表(employees)中的所有记录,即使右表(departments)中没有匹配的记录。对于没有匹配的记录,结果集中右表的字段将为 NULL。因此,Charlie 的记录也会被返回,但他的 department_name 将是 NULL。
下一篇:mysql类型转换
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站