【MySQL】不就是MySQL——多表查询综合练习

news2024/11/23 4:28:13

前言

  嗨咯大家好!我们学习完毕了多表查询,今天我们就要对我们所学的成果进行测验,本期主要是对多表查询相关内容的练习课程。可以先试着自己敲,遇到不会可以查看查考代码。

 

 目录

前言

 目录

练习题

1.查询员工的姓名、年龄、职位、部门信息(隐式内连接)

2.查询年龄小于30岁的员工的姓名、年龄、职位、部门信息(显示内连接)

3.查询拥有员工部门id,部门名称

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

#使用左连接

5.查询所有员工的工资等级

6.查询"研发部"所有员工的信息及工资等级

7.查询市场部员工的平均工资

8.查询比岑参薪资高的员工信息

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

10.查询低于本部门的平均工资的员工

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

12.查询所有学生的选课情况,展示出学生姓名,学号,课程名称

 总结


练习题

1.查询员工的姓名、年龄、职位、部门信息(隐式内连接)

select e.name'姓名',age,d.name '部门',job from emp e,dept d where e.dept_id = d.id;

2.查询年龄小于30岁的员工的姓名、年龄、职位、部门信息(显示内连接)

select e.name '姓名', e.age '年龄', 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 dept d,emp e where e.dept_id=d.id;

  

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

#使用左连接

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

 创建薪资表,并插入数据,且完成下列要求的操作

创建薪资表

create table salgrade(
gradeint,
losalint,
hisalint
)comment'薪资登记表';

插入数据 

insert into salgrade values(1,0,2000);
insert into salgrade values(2,2001,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,100000);

5.查询所有员工的工资等级

提示:

表:emp和salgrade

连接条件:emp.salary>=salgrade.losalandemp.salary<=salgrade.hisal

条件:判断属于那个区间

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

或者 

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

6.查询"研发部"所有员工的信息及工资等级

提示:

表:emp,salgrade,dept

连接条件:emp.salary>=salgrade.losalandemp.salary<=salgrade.hisal

条件:dept.name='研发部'

select e.*,s.grade from emp e,salgrade s,dept d
where(e.dept_id=d.id)and
(e.salary between s.losal and s.hisal)and d.name='研发部';

7.查询市场部员工的平均工资

提示:

连接条件emp.dept_id=dept.id

条件dept.name='市场部'

聚合函数avg()

select avg(e.salary)'平均工资'
from emp e,
dept d
where e.dept_id=d.id
and d.name='市场部';

8.查询比岑参薪资高的员工信息

select*
from emp e,
dept d
where e.dept_id=d.id
and e.salary>(select e1.salary from emp e1 where e1.name='岑参');

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

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

10.查询低于本部门的平均工资的员工

select*
from emp e,
     dept d
where e.dept_id = d.id
group by e.dept_id
having e.salary < (select avg(e1.salary) from emp e1);

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

连接条件:student.id=student_course.studentidcourse.id=student_course.studentid 

select s.name '姓名', s.no 学号, c.name '课程名称'
from course c,
     student_course sc,
     student s
where s.id = sc.studentid
  and sc.courseid = c.id;

 总结

本期的练习就到此结束了,希望你能够学有所成!遇到不会的题目一定要及时回顾前边的知识!期待我们下期再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/685720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HDFS常见的Shell操作

HDFS常见的Shell操作 文章目录 HDFS常见的Shell操作写在前面基本语法HDFS命令大全常用命令实操准备工作上传文件下载文件HDFS直接操作 写在前面 Hadoop版本&#xff1a;Hadoop-3.xLinux版本&#xff1a;CentOS7.5 HDFS的Shell操作是入门Hadoop开发的学习重点 基本语法 Shell客…

分布式批处理:MapReduce初探

大家好&#xff0c;我是方圆。《数据密集型应用系统设计》第十章中有介绍到 MapReduce 相关的内容&#xff0c;当时觉得看得意犹未尽&#xff0c;所以便找了一些资料又看了一下。随着深入发现能扩展的东西实在太多&#xff0c;考虑时间有限&#xff0c;准备先把 MapReduce 基础…

基于smardaten无代码快速开发智慧城管系统

0️⃣需求背景 现代城市管理的面临着一系列问题&#xff1a;如执法人员不足、信息化手段应用少和时间处理不及时等&#xff0c;开发一个智慧城管回访系统的需求与日俱增… 通过引入智慧城管回访系统&#xff0c;可以提高城市管理的科学性、智能化和透明度&#xff0c;为城市发…

【软考网络管理员】2023年软考网管初级常见知识考点(14)- linux命令及目录相关详解

涉及知识点 Linux 目录结构&#xff0c; Linux 常用命令&#xff0c; Linux 下的文件基本属性&#xff0c; Linux 的启动与关闭 软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于&#xff1a;CSDN博主-《拄杖盲学轻声码》…

HTML5 游戏开发实战 | 推箱子

经典的推箱子是一个来自日本的古老游戏&#xff0c;目的是在训练玩家的逻辑思考能力。在一个狭小的仓库中&#xff0c;要求把木箱放到指定的位置&#xff0c;稍不小心就会出现箱子无法移动或者通道被堵住的情况&#xff0c;所以需要巧妙地利用有限的空间和通道&#xff0c;合理…

java9新特性之-String存储结构变更--集合工厂方法-- InputStream 加强--增强的 Stream API讲解

String存储结构变更 Motivation The current implementation of the String class stores characters in a char array, using two bytes (sixteen bits) for each character. Data gathered from many different applications indicates that strings are a major component o…

Ubuntu22.04编译安装FFmpeg

FFmpeg介绍 概述 FFmpeg是一款用C语言编写的跨平台免费开源多媒体处理工具&#xff0c;该软件可实现音视频的采集、编解码、转码、过滤以及流媒体相关操作等功能。 同时&#xff0c;FFmpeg也为其他多种语言和操作系统提供了开发组件&#xff0c;包括Java、Python、C等和Wind…

【吴恩达deeplearning.ai】基于LangChain开发大语言应用模型(下)

以下内容均整理来自deeplearning.ai的同名课程 Location 课程访问地址 DLAI - Learning Platform Beta (deeplearning.ai) LangChain for LLM Application Development 基于LangChain开发大语言应用模型&#xff08;上&#xff09; 一、LangChain: Q&A over Documents基于文…

SpringMVC原理分析 | Controller配置、RestFul风格

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Controller配置 控制器Controller 控制器复杂提供访问应用程序的行为&#xff0c;通常通过接口定义或注释定义的两种方法实现控制器负责解析用户的请求并将其转换为一…

ModaHub AI模型开源社区——Milvus向量数据库存储相关概念

目录 存储相关概念 分区和数据段 数据段&#xff08;segment&#xff09; 分区&#xff08;partition&#xff09; 集合、分区和数据段的关系 元数据 常见问题 存储相关概念 分区和数据段 建立集合时&#xff0c;Milvus 根据参数 index_file_size 控制数据段的大小。另…

R+VIC 模型融合实践技术应用及未来气候变化模型预测

目前&#xff0c;无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然&#xff0c;这些软件有各自的优点&#xff1b;但是&#xff0c;由于适用的尺度主要的是中小流域&#xff0c;所以在预测气候变化对水文过程影响等方面都有所不足。 VIC模型…

“未来之光:揭秘创新科技下的挂灯魅力“

写在前面&#xff1a; 高度信息化当下时代&#xff0c;对电脑及数字设备的需求与日俱增无处不在&#xff0c;随之而来的视觉疲劳和眼睛问题也攀升到了前所未有的高度。传统台灯对于长时间使用电脑的人群来说是完全无法解决这些问题的。一款ScreenBar Halo 屏幕挂灯&#xff0c;…

【Java】Java核心要点总结 71:ThreadPoolExecutor

文章目录 1)为什么需要线程池&#xff1f;2)线程池内部怎么保证线程安全?3)创建线程的方式 newSingleThreadExecutor底层4) ThreadPoolExecutor参数使用5) 线程池的工作机制6)拒绝策略分四种7)队列有哪些&#xff1f; 参考&#xff1a; 1)为什么需要线程池&#xff1f; 重复利…

设计模式之备忘录模式笔记

设计模式之备忘录模式笔记 说明Memento(备忘录)目录白箱备忘录模式备忘录模式示例类图游戏角色类备忘录角色类备忘录对象管理对象测试类 黑箱备忘录模式备忘录模式示例类图备忘录接口游戏角色类备忘录对象管理对象测试类 说明 记录下学习设计模式-备忘录模式的写法。JDK使用版…

JDBC小记——连接池

目录 连接池介绍 常用连接池 DBCP连接池 硬编码方式 配置文件方式 C3P0连接池 C3P0和DBCP的区别 硬编码方式 配置文件方式 Druid连接池 硬编码方式 配置文件方式 DBUtils 连接池介绍 由于建立数据库连接是一种非常耗时、耗资源的行为&#xff0c;所以预先通过连接…

在vite+vue3项目中配置使用css预处理器(less/sass)以及路径别名

一、在vite项目中使用css预处理器 vite已经将这些预处理器的loader内置了&#xff0c;我们不用再像在webpack项目中那样&#xff0c;需要下载和配置一堆相关的loader&#xff0c;我们只需要下载less&#xff0c;sass依赖&#xff0c;就能直接在项目中使用啦 使用npm或者yarn来…

Springboot-- 注解字段校验,并统一设置返回值

Springboot-- 注解字段校验&#xff0c;并统一设置返回值 引包&#xff1a;import org.springframework.validation.annotation.Validated; <!--web--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

配置鼠标右键菜单功能 :一键csv转excel

配置右键菜单功能 &#xff1a;一键csv转excel 无需点开文件&#xff0c;双击即可以生成新的excel文件 步骤&#xff1a; 1、配置Python&#xff0c;安装依赖库 pip install openpyxl pip install pandas2、创建Python文件 csv_to_excel.py # -*- coding:utf-8 -*- impor…

【计算机组成原理】函数栈帧

目录 一、源代码理论分析 二、主函数的创建 三、c语言代码的汇编 注&#xff1a;不同编译器环境的函数栈帧存在一定差异&#xff0c;本文使用VS2019 一、源代码理论分析 源代码&#xff1a; int Add(int x, int y) {int z 0;z x y;return z; }int main() {int a 10;…

u盘安装centos 7

1.下载 通过阿里云站点&#xff1a;http://mirrors.aliyun.com/centos/7/isos/x86_64/&#xff0c;下载iso文件。 2.制作启动u盘镜像 2.1 下载制作工具 下载u启动 http://uqidong.als98.cn/ 。 2.2 制作镜像 准备u盘&#xff0c;插入机器&#xff0c;运行u启动。 注意…