news 2026/5/9 3:32:25

多表查询练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
多表查询练习

练习1

-- ---------------------------------------> 多表查询案例 <---------------------------------- -- ------------------------------------> 多表查询 <-------------------------------------------- -- 准备数据 create table dept1 ( id int auto_increment comment 'ID' primary key, name varchar(50) not null comment '部门名称' ) comment '部门表'; create table emp2 ( id int auto_increment comment 'ID' primary key, name varchar(50) not null comment '姓名', age int comment '年龄', job varchar(20) comment '职位', salary int comment '薪资', entrydate date comment '入职时间', managerid int comment '直属领导ID', dept1_id int comment '部门ID' ) comment '员工表'; -- 添加外键 alter table emp2 add constraint fk_emp2_dept1_id foreign key (dept1_id) references dept1 (id); INSERT INTO dept1 (id, name) VALUES (1, '研发部'), (2, '市场部'), (3, '财务部'), (4, '销售部'), (5, '总经办'), (6, '人事部'); INSERT INTO emp2 (id, name, age, job, salary, entrydate, managerid, dept1_id) VALUES (1, '金庸', 66, '总裁', 20000, '2000-01-01', null, 5), (2, '张无忌', 20, '项目经理', 12500, '2005-12-05', 1, 1), (3, '杨逍', 33, '开发', 8400, '2000-11-03', 2, 1), (4, '韦一笑', 48, '开发', 11000, '2002-02-05', 2, 1), (5, '常遇春', 43, '开发', 10500, '2004-09-07', 3, 1), (6, '小昭', 19, '程序员鼓励师', 6600, '2004-10-12', 2, 1), (7, '灭绝', 60, '财务总监', 8500, '2002-09-12', 1, 3), (8, '周芷若', 19, '会计', 48000, '2006-06-02', 7, 3), (9, '丁敏君', 23, '出纳', 5250, '2009-05-13', 7, 3), (10, '赵敏', 20, '市场部总监', 12500, '2004-10-12', 1, 2), (11, '鹿杖客', 56, '职员', 3750, '2006-10-03', 10, 2), (12, '鹤笔翁', 19, '职员', 3750, '2007-05-09', 10, 2), (13, '方东白', 19, '职员', 5500, '2009-02-12', 10, 2), (14, '张三丰', 88, '销售总监', 14000, '2004-10-12', 1, 4), (15, '俞莲舟', 38, '销售', 4600, '2004-10-12', 14, 4), (16, '宋远桥', 40, '销售', 4600, '2004-10-12', 14, 4), (17, '陈友谅', 42, null, 2000, '2011-10-12', 1, null); create table salgrade ( grade int, losal int, hisal int ) comment '薪资等级表'; insert into salgrade values (1, 0, 3000); insert into salgrade values (2, 3001, 5000); insert into salgrade values (3, 5001, 8000); insert into salgrade values (4, 8001, 10000); insert into salgrade values (5, 10001, 15000); insert into salgrade values (6, 15001, 20000); insert into salgrade values (7, 20001, 25000); insert into salgrade values (8, 25001, 30000); -- 1. 查询员工的姓名、年龄、职位、部门信息 (隐式内连接) -- 表: emp , dept -- 连接条件: emp.dept_id = dept.id select e.name, e.age, e.job, d.name from emp2 as e, dept1 as d where e.dept1_id = d.id; -- 2. 查询年龄小于30岁的员工的姓名、年龄、职位、部门信息(显式内连接) -- 表: emp , dept -- 连接条件: emp.dept_id = dept.id select e.name, e.age, e.job, d.name from emp2 as e inner join dept1 as d on e.dept1_id = d.id where e.age < 30; -- 3. 查询拥有员工的部门ID、部门名称(内连接) -- 表: emp , dept -- 连接条件: emp.dept_id = dept.id -- distinct去重关键字 select distinct d.id, d.name from emp2 as e, dept1 as d where e.dept1_id = d.id; -- 4. 查询所有年龄大于40岁的员工, 及其归属的部门名称; 如果员工没有分配部门, 也需要展示出来 -- 表: emp , dept -- 连接条件: emp.dept_id = dept.id -- 外连接 select e.*, d.name from emp2 as e left join dept1 as d on d.id = e.dept1_id where e.age > 40; -- 5. 查询所有员工的工资等级 -- 表: emp , salgrade -- 连接条件 : emp.salary >= salgrade.losal and emp.salary <= salgrade.hisal select e.*, s.grade, s.losal, s.hisal from emp2 as e, salgrade as s where e.salary >= s.losal and e.salary <= s.hisal; select e.*, s.grade, s.losal, s.hisal from emp2 as e, salgrade as s where e.salary between s.losal and s.hisal; -- 6. 查询 "研发部" 所有员工的信息及 工资等级 -- 表: emp , salgrade , dept -- 连接条件 : emp.salary between salgrade.losal and salgrade.hisal , emp.dept_id = dept.id -- 查询条件 : dept.name = '研发部' select e.*, s.grade from emp2 as e, dept1 as d, salgrade as s where e.dept1_id = d.id and (e.salary between s.losal and s.hisal) and d.name = '研发部'; -- 7. 查询 "研发部" 员工的平均工资 -- 表: emp , dept -- 连接条件 : emp.dept_id = dept.id select avg(e.salary) from emp2 as e, dept1 as d where e.dept1_id = d.id and d.name = '研发部'; -- 8. 查询工资比 "灭绝" 高的员工信息。(标量子查询) -- a. 查询 "灭绝" 的薪资 select salary from emp2 where name = '灭绝'; -- b. 查询比她工资高的员工数据 select * from emp2 where salary > (select salary from emp where name = '灭绝'); -- 9. 查询比平均薪资高的员工信息 -- a. 查询员工的平均薪资 select avg(salary) from emp2; -- b. 查询比平均薪资高的员工信息 select * from emp2 where salary > (select avg(salary) from emp); -- 10. 查询低于本部门平均工资的员工信息 -- a. 查询指定部门平均薪资 1 select avg(e1.salary) from emp2 e1 where e1.dept1_id = 1; select avg(e1.salary) from emp2 e1 where e1.dept1_id = 2; -- b. 查询低于本部门平均工资的员工信息 select *, (select avg(e1.salary) from emp2 e1 where e1.dept1_id) as '平均薪资' from emp2 as e2 where e2.salary < (select avg(e1.salary) from emp2 e1 where e1.dept1_id = e2.dept1_id); -- 11. 查询所有的部门信息, 并统计部门的员工人数 select d.id, d.name, (select count(*) from emp2 e where e.dept1_id = d.id) '人数' from dept d; select count(*) from emp2 where dept1_id = 1; -- 12. 查询所有学生的选课情况, 展示出学生名称, 学号, 课程名称 -- 表: student , course , student_course -- 连接条件: student.id = student_course.studentid , course.id = student_course.courseid select s.name , s.no , c.name from student s , student_course sc , course c where s.id = sc.studentid and sc.courseid = c.id ;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 6:19:14

YOLO模型灰度发布策略:确保线上服务稳定过渡

YOLO模型灰度发布策略&#xff1a;确保线上服务稳定过渡 在智能制造工厂的质检产线上&#xff0c;一台搭载YOLOv8的视觉检测系统正以每秒30帧的速度扫描电路板。突然&#xff0c;新上线的YOLOv10模型开始频繁误判虚焊点——若这是全量部署&#xff0c;整条产线将立即停摆。所幸…

作者头像 李华
网站建设 2026/5/1 9:22:41

YOLO推理耗时分解:前处理、模型、后处理各占多少?

YOLO推理耗时分解&#xff1a;前处理、模型、后处理各占多少&#xff1f; 在工业质检线上&#xff0c;一台AOI&#xff08;自动光学检测&#xff09;设备突然帧率腰斩——从稳定的30FPS掉到15FPS&#xff0c;而GPU利用率却只有50%。工程师第一反应是“模型太大”&#xff0c;可…

作者头像 李华
网站建设 2026/5/1 9:17:34

深度学习--CUDA安装配置、pytorch库、torchvision库、torchaudio库安装

一、下载CUDA 1、什么是CUDA CUDA 是 NVIDIA 为自家 GPU 打造的“计算引擎”&#xff0c;它让 GPU 不仅能处理图形&#xff0c;更能变成一个超级并行处理器&#xff0c;用来加速科学计算、人工智能、模拟等海量计算任务。 2、查看电脑版本号 打开终端输入nvidia-smi查看 3、…

作者头像 李华
网站建设 2026/5/6 19:58:09

YOLO模型失败案例复盘:一次因数据偏差导致的事故

YOLO模型失败案例复盘&#xff1a;一次因数据偏差导致的事故 在某电子制造工厂的一条SMT生产线上&#xff0c;自动化质检系统突然“失明”——连续三天未能识别出一批存在明显电容缺失的PCB板。这些本应被拦截的不良品最终流入后续工序&#xff0c;造成数千元损失和客户投诉。而…

作者头像 李华
网站建设 2026/5/7 1:07:04

YOLO目标检测API设计规范:构建易用服务接口的原则

YOLO目标检测API设计规范&#xff1a;构建易用服务接口的原则 在智能制造、智慧城市和自动驾驶等前沿领域&#xff0c;视觉感知正从“可有可无”走向“核心驱动”。面对海量视频流与实时决策需求&#xff0c;如何将强大的AI模型转化为稳定可靠的服务能力&#xff0c;成为工程落…

作者头像 李华
网站建设 2026/5/8 8:48:43

工程实践:破解智能体错误的长尾效应——论“悔改机制”中的通知分级与防再犯设计

在真实业务里&#xff0c;智能体最危险的失败模式往往不是“当场答错”——因为当场答错至少还有机会被用户质疑、被客服兜底、被人工复核流程拦住。更隐蔽、也更具破坏性的情况是&#xff1a;智能体在某一次会话里给出了看似可信的建议&#xff0c;用户照做了&#xff0c;流程…

作者头像 李华