您的位置:首页 > 教育 > 培训 > 长春排查出阳性患者_天猫网上商城_榆林市网站seo_免费制作logo的网站

长春排查出阳性患者_天猫网上商城_榆林市网站seo_免费制作logo的网站

2024/10/8 0:01:14 来源:https://blog.csdn.net/Ricky_youngone/article/details/142744246  浏览:    关键词:长春排查出阳性患者_天猫网上商城_榆林市网站seo_免费制作logo的网站
长春排查出阳性患者_天猫网上商城_榆林市网站seo_免费制作logo的网站

先看我的表数据

dept表

emp表

salgrade表

student表

course表

student_course表

1. 查询员工的姓名, 年龄, 职位, 部门信息(隐式内连接)
-- 表:emp, dept
-- 连接条件 emp.dept_id = dept.id 

select e.name, e.age, e.job, d.name from emp e, dept d where e.dept_id = d.id;

2. 查询年龄小于30岁的员工姓名,年龄,职位,部门信息(显式内连接)
-- 表:emp, dept
-- 连接条件 emp.dept_id = dept.id 
 

select e.name, e.age, e.job, d.name from emp e inner join dept d on e.dept_id = d.id  where e.age < 30;

3.查询拥有员工部门ID, 部门名称(内连接, 查询的是两个表里面字段交集的部分)

select distinct d.id, d.name from emp e, dept d where e.dept_id = d.id;

 4.查询所有年龄大于40岁的员工,及归属的部门名称;如果员工没有分配部门, 也需要展示出来

-- emp, dept
-- 连接条件:emp.dept_id = dept.id 
-- 外连接

select e.*, d.name from emp e left join dept d on e.dept_id = d.id where e.age > 40;

5.查询所有员工的工资等级(联合查询)
-- 表emp, salgrade
-- 连接条件:emp.salary >= salgrade.local and emp.salary <= salgrade.hisal 

select e.*, s.grade, s.losal, s.hisal from emp e , salgrade s where e.salary >= s.losal and e.salary <= s.hisal;
select e.*, s.grade, s.losal, s.hisal from emp e , salgrade s where e.salary between s.losal and s.hisal;

 6.查询“研发部” 所有员工的信息及 工资等级
-- 表:emp, dept, salgrade
-- 连接条件 1.emp和salgrade 条件emp.salary between salgrade.local and salgrade.hisal  2. emp.dept_id = dept.id
-- 查询条件:研发部 dept.name = '研发部';

SELECTe.*,s.grade 
FROMemp e,dept d,salgrade s 
WHERE( e.dept_id = d.id ) AND ( e.salary BETWEEN s.losal AND s.hisal ) AND ( d.NAME = '研发部' );

7.查询 “研发部的平均工资”
-- 表emp, dept
-- 连接条件 emp.dept_id = dpet.id 

select avg(e.salary) from emp e, dept d where e.dept_id = d.id and d.name = '研发部';

8.查询工资比“灭绝”高的员工信息

select * from emp where salary > (select salary from emp where name = '灭绝');

9. 查询比平均薪资高的员工信息

select * from emp where salary > (select avg(emp.salary) from emp);

0 查询低于本部门平均工资的员工信息
-- a. 查询指定部门平均薪资
select avg(e1.salary) from emp e1 where e1.dept_id = 1; 
select avg(e1.salary) from emp e1 where e1.dept_id = 2; 

-- b. 查询低于本部门平均工资的员工信息

select * from emp e2 where e2.salary < (select avg(e1.salary) from emp e1 where e1.dept_id = e2.dept_id ); 

11. 查询所有部门的信息,并统计部门的员工人数

select d.id, d.name, (select count(*) from emp e where e.dept_id = d.id) '人数' from dept d;

12. 查询所有学生的选课情情况,展示出学生名称,学号,课程名称 
-- 表:student, course, student_course
-- 连接条件stduent.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 c.id = sc.courseid; 

 MySQL多表查询的总结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com