首先,我们创建两个假设的表,并用随机数填充它们。为了简化,我们将创建两个表:employees 和 departments。
employees
表包含员工的 ID、姓名和他们所属的部门 ID。
departments
表包含部门的 ID 和部门名称。
- 创建并填充 employees 表:
CREATE TABLE employees (
emp_id INT PRIMARY KEY, -- 类型 INT | 表示表的主键。
emp_name VARCHAR(50), -- 可变长度的字符型,最大长度为50个字符
dept_id INT
);
INSERT INTO employees (emp_id, emp_name, dept_id) VALUES
(1, 'Alice', 1),
(2, 'Bob', 2),
(3, 'Charlie', 1),
(4, 'David', 3);
emp_id
是表的主键,主键是表中的一个特殊字段,它必须包含唯一的值(即,表中的每一行都必须有一个不同的emp_id值)。此外,主键字段不能接受NULL值。主键的存在有助于在数据库中快速检索数据,并确保数据的完整性。
- 创建并填充
departments
表:
CREATE TABLE departments (
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50)
);
INSERT INTO departments (dept_id, dept_name) VALUES
(1, 'HR'),
(2, 'Engineering'),
(3, 'Marketing');
现在,我们有两个表,一个是员工表,另一个是部门表。如果我们想知道每个员工所在的部门名称,我们就需要使用 JOIN
操作来结合这两个表的信息。
- 使用 JOIN 连接两个表:
SELECT employees.emp_name, departments.dept_name
FROM employees
JOIN departments ON employees.dept_id = departments.dept_id;
此查询的结果将是:
emp_name | dept_name
---------|----------
Alice | HR
Bob | Engineering
Charlie | HR
David | Marketing
这个查询首先选择了我们想要的列(员工的名字和部门的名称)。然后,它使用 JOIN
语句将 employees
表和 departments
表连接起来,基于两个表中的 dept_id
列相匹配的条件。这样,我们就可以看到每个员工所在的部门名称了。