一推网

当前位置: 首页 > 知识问答 > 如何通过Mysql数据库关联练习提升数据库操作技能?

知识问答

如何通过Mysql数据库关联练习提升数据库操作技能?

2025-09-22 02:45:29 来源:互联网转载

MySQL数据库关联练习

1. 练习背景

本练习旨在通过实际的数据库操作,加深对MySQL数据库中关联查询(JOIN)的理解和应用,我们将创建两个表,并通过关联这两个表来执行查询。

2. 数据库环境

数据库引擎:InnoDB

数据库版本:MySQL 5.7+

3. 创建表

创建员工表CREATE TABLE employees (    id INT AUTO_INCREMENT PRIMARY KEY,    name VARCHAR(50) NOT NULL,    age INT NOT NULL,    department_id INT,    FOREIGN KEY (department_id) REFERENCES departments(id));创建部门表CREATE TABLE departments (    id INT AUTO_INCREMENT PRIMARY KEY,    department_name VARCHAR(50) NOT NULL);

4. 插入数据

插入部门数据insert INTO departments (department_name) VALUES ('HR'), ('IT'), ('Finance'), ('Marketing');插入员工数据insert INTO employees (name, age, department_id) VALUES('Alice', 30, 1),('Bob', 25, 2),('Charlie', 35, 1),('David', 40, 3),('Eve', 28, 4),('Frank', 22, 2),('Grace', 33, 3);

5. 关联查询练习

5.1 查询所有员工的姓名和所属部门名称

select e.name AS EmployeeName, d.department_name AS DepartmentNameFROM employees eJOIN departments d ON e.department_id = d.id;

5.2 查询所有IT部门的员工信息

select *FROM employees eJOIN departments d ON e.department_id = d.idWHERE d.department_name = 'IT';

5.3 查询所有部门名称以及该部门员工的平均年龄

select d.department_name, AVG(e.age) AS AverageAgeFROM employees eJOIN departments d ON e.department_id = d.idGROUP BY d.department_name;

5.4 查询没有员工的部门名称

select d.department_nameFROM departments dLEFT JOIN employees e ON d.id = e.department_idWHERE e.id IS NULL;

6. 总结

通过上述练习,我们学习了如何使用JOIN语句进行数据库的关联查询,以及如何通过不同的JOIN类型(如INNER JOIN、LEFT JOIN等)来获取所需的数据,这些技能对于日常的数据库操作和数据查询非常重要。

上一篇:如何解决SSL证书验证失败的问题?

下一篇:域名过期了还可以续费吗?