Mysql单表多表查询练习

news2024/11/20 9:30:54

题目要求:

1.查询student表的所有记录

2.查询student表的第2到4条记录

3.从student表查询所有的学生的学号(id),姓名(name),和院系(department)的信息

4.从student表中查询计算机系和英语系的学生的信息

5.从studnet表中查询年龄18-22岁的学生信息

6.从student表中查询每个院系有多少人

7.从score表中查询每个科目的最高分

8.查询李四的考试科目(c_name)和考试成绩(grade)

9.用连接的方式查询所有学生的信息和考试信息

10.计算每个学生的总成绩

11.计算每个考试科目的平均成绩

12.查询计算机成绩低于95的学生信息

13.查询同时参加计算机考试和英语考试的学生的信息

14.将计算机考试成绩按从高到低进行排序

15.从student表和score表中查询出学生的学号,然后合并查询结果

16.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩

17.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩


题目要求:

 

1.查询student表的所有记录

mysql8.0 [SLB1]>select * from student;
+-----+-----------+------+-------+--------------+--------------------+
| id  | name      | sex  | birth | department   | address            |
+-----+-----------+------+-------+--------------+--------------------+
| 901 | 张老大    | 男   |  1985 | 计算机系     | 北京市海淀区       |
| 902 | 张老二    | 男   |  1986 | 中文系       | 北京市昌平区       |
| 903 | 张三      | 女   |  1990 | 中文系       | 湖南省永州市       |
| 904 | 李四      | 男   |  1990 | 英语系       | 辽宁省阜新市       |
| 905 | 王五      | 女   |  1991 | 英语系       | 福建省厦门市       |
| 906 | 王六      | 男   |  1988 | 计算机系     | 湖南省衡阳市       |
+-----+-----------+------+-------+--------------+--------------------+
6 rows in set (0.00 sec)

2.查询student表的第2到4条记录

mysql8.0 [SLB1]>select * from student limit 1,3;
+-----+-----------+------+-------+------------+--------------------+
| id  | name      | sex  | birth | department | address            |
+-----+-----------+------+-------+------------+--------------------+
| 902 | 张老二    | 男   |  1986 | 中文系     | 北京市昌平区       |
| 903 | 张三      | 女   |  1990 | 中文系     | 湖南省永州市       |
| 904 | 李四      | 男   |  1990 | 英语系     | 辽宁省阜新市       |
+-----+-----------+------+-------+------------+--------------------+
3 rows in set (0.00 sec)

3.从student表查询所有的学生的学号(id),姓名(name),和院系(department)的信息

mysql8.0 [SLB1]>select id,name,department from student;
+-----+-----------+--------------+
| id  | name      | department   |
+-----+-----------+--------------+
| 901 | 张老大    | 计算机系     |
| 902 | 张老二    | 中文系       |
| 903 | 张三      | 中文系       |
| 904 | 李四      | 英语系       |
| 905 | 王五      | 英语系       |
| 906 | 王六      | 计算机系     |
+-----+-----------+--------------+
6 rows in set (0.00 sec)

4.从student表中查询计算机系和英语系的学生的信息

mysql8.0 [SLB1]>select * from student where department='计算机系' or department='英语系';
+-----+-----------+------+-------+--------------+--------------------+
| id  | name      | sex  | birth | department   | address            |
+-----+-----------+------+-------+--------------+--------------------+
| 901 | 张老大    | 男   |  1985 | 计算机系     | 北京市海淀区       |
| 904 | 李四      | 男   |  1990 | 英语系       | 辽宁省阜新市       |
| 905 | 王五      | 女   |  1991 | 英语系       | 福建省厦门市       |
| 906 | 王六      | 男   |  1988 | 计算机系     | 湖南省衡阳市       |
+-----+-----------+------+-------+--------------+--------------------+
4 rows in set (0.01 sec)

5.从studnet表中查询年龄18-22岁的学生信息

mysql8.0 [SLB1]>select * from student where (select year(curdate())-birth) between 18 and 22;
Empty set (0.01 sec)
mysql8.0 [SLB1]>select * from student where (select year(curdate())-birth) between 35 and 40;
+-----+-----------+------+-------+--------------+--------------------+
| id  | name      | sex  | birth | department   | address            |
+-----+-----------+------+-------+--------------+--------------------+
| 901 | 张老大    | 男   |  1985 | 计算机系     | 北京市海淀区       |
| 902 | 张老二    | 男   |  1986 | 中文系       | 北京市昌平区       |
| 906 | 王六      | 男   |  1988 | 计算机系     | 湖南省衡阳市       |
+-----+-----------+------+-------+--------------+--------------------+
3 rows in set (0.00 sec)

6.从student表中查询每个院系有多少人

mysql8.0 [SLB1]>select department,count(*) from student group by department;
+--------------+----------+
| department   | count(*) |
+--------------+----------+
| 计算机系     |        2 |
| 中文系       |        2 |
| 英语系       |        2 |
+--------------+----------+
3 rows in set (0.00 sec)

7.从score表中查询每个科目的最高分

mysql8.0 [SLB1]>select c_name,max(grade) from score group by c_name;
+-----------+------------+
| c_name    | max(grade) |
+-----------+------------+
| 计算机    |         98 |
| 英语      |         94 |
| 中文      |         95 |
+-----------+------------+
3 rows in set (0.00 sec)

8.查询李四的考试科目(c_name)和考试成绩(grade)

mysql8.0 [SLB1]>select c_name,grade from score as sc,student as st where sc.stu_id=st.id and name='李四';
+-----------+-------+
| c_name    | grade |
+-----------+-------+
| 计算机    |    70 |
| 英语      |    92 |
+-----------+-------+
2 rows in set (0.00 sec)

9.用连接的方式查询所有学生的信息和考试信息

mysql8.0 [SLB1]>select st.id,st.name,st.sex,st.birth,st.department,st.address,sc.id as corid,sc.c_name,sc.grade from student as st inner join score as sc onst.id=sc.stu_id;
+-----+-----------+------+-------+--------------+--------------------+-------+-----------+-------+
| id  | name      | sex  | birth | department   | address            | corid | c_name    | grade |
+-----+-----------+------+-------+--------------+--------------------+-------+-----------+-------+
| 901 | 张老大    | 男   |  1985 | 计算机系     | 北京市海淀区       |     1 | 计算机    |    98 |
| 901 | 张老大    | 男   |  1985 | 计算机系     | 北京市海淀区       |     2 | 英语      |    80 |
| 902 | 张老二    | 男   |  1986 | 中文系       | 北京市昌平区       |     3 | 计算机    |    65 |
| 902 | 张老二    | 男   |  1986 | 中文系       | 北京市昌平区       |     4 | 中文      |    88 |
| 903 | 张三      | 女   |  1990 | 中文系       | 湖南省永州市       |     5 | 中文      |    95 |
| 904 | 李四      | 男   |  1990 | 英语系       | 辽宁省阜新市       |     6 | 计算机    |    70 |
| 904 | 李四      | 男   |  1990 | 英语系       | 辽宁省阜新市       |     7 | 英语      |    92 |
| 905 | 王五      | 女   |  1991 | 英语系       | 福建省厦门市       |     8 | 英语      |    94 |
| 906 | 王六      | 男   |  1988 | 计算机系     | 湖南省衡阳市       |     9 | 计算机    |    90 |
| 906 | 王六      | 男   |  1988 | 计算机系     | 湖南省衡阳市       |    10 | 英语      |    85 |
+-----+-----------+------+-------+--------------+--------------------+-------+-----------+-------+
10 rows in set (0.00 sec)

10.计算每个学生的总成绩

mysql8.0 [SLB1]>select st.name,sum(sc.grade) from student as st inner join score as sc on st.id=sc.stu_id group by name;
+-----------+---------------+
| name      | sum(sc.grade) |
+-----------+---------------+
| 张老大    |           178 |
| 张老二    |           153 |
| 张三      |            95 |
| 李四      |           162 |
| 王五      |            94 |
| 王六      |           175 |
+-----------+---------------+
6 rows in set (0.00 sec)

11.计算每个考试科目的平均成绩

mysql8.0 [SLB1]>select c_name,avg(grade) from score group by c_name;
+-----------+------------+
| c_name    | avg(grade) |
+-----------+------------+
| 计算机    |    80.7500 |
| 英语      |    87.7500 |
| 中文      |    91.5000 |
+-----------+------------+
3 rows in set (0.01 sec)

12.查询计算机成绩低于95的学生信息

mysql8.0 [SLB1]>select st.id,st.name,st.sex,st.birth,st.department,st.address,sc.c_name,sc.grade from student as st inner join score as sc on st.id=sc.stu_id where sc.c_name='计算机' and sc.grade<95;
+-----+-----------+------+-------+--------------+--------------------+-----------+-------+
| id  | name      | sex  | birth | department   | address            | c_name    | grade |
+-----+-----------+------+-------+--------------+--------------------+-----------+-------+
| 902 | 张老二    | 男   |  1986 | 中文系       | 北京市昌平区       | 计算机    |    65 |
| 904 | 李四      | 男   |  1990 | 英语系       | 辽宁省阜新市       | 计算机    |    70 |
| 906 | 王六      | 男   |  1988 | 计算机系     | 湖南省衡阳市       | 计算机    |    90 |
+-----+-----------+------+-------+--------------+--------------------+-----------+-------+
3 rows in set (0.00 sec)

13.查询同时参加计算机考试和英语考试的学生的信息

mysql8.0 [SLB1]>select st.id,st.name,st.sex,st.birth,st.department,st.address,concat(sc1.c_name,sc2.c_name) as exam from student as st,(select * from score where c_name='计算机') as sc1 inner join (select * from score where c_name='英语') as sc2  on sc1.stu_id=sc2.stu_id where st.id=sc1.stu_id;
+-----+-----------+------+-------+--------------+--------------------+-----------------+
| id  | name      | sex  | birth | department   | address            | exam            |
+-----+-----------+------+-------+--------------+--------------------+-----------------+
| 901 | 张老大    | 男   |  1985 | 计算机系     | 北京市海淀区       | 计算机英语      |
| 904 | 李四      | 男   |  1990 | 英语系       | 辽宁省阜新市       | 计算机英语      |
| 906 | 王六      | 男   |  1988 | 计算机系     | 湖南省衡阳市       | 计算机英语      |
+-----+-----------+------+-------+--------------+--------------------+-----------------+
3 rows in set (0.00 sec)

14.将计算机考试成绩按从高到低进行排序

mysql8.0 [SLB1]>select * from score order by grade desc;
+----+--------+-----------+-------+
| id | stu_id | c_name    | grade |
+----+--------+-----------+-------+
|  1 |    901 | 计算机    |    98 |
|  5 |    903 | 中文      |    95 |
|  8 |    905 | 英语      |    94 |
|  7 |    904 | 英语      |    92 |
|  9 |    906 | 计算机    |    90 |
|  4 |    902 | 中文      |    88 |
| 10 |    906 | 英语      |    85 |
|  2 |    901 | 英语      |    80 |
|  6 |    904 | 计算机    |    70 |
|  3 |    902 | 计算机    |    65 |
+----+--------+-----------+-------+
10 rows in set (0.00 sec)

15.从student表和score表中查询出学生的学号,然后合并查询结果

mysql8.0 [SLB1]>select st.id,st.name from student as st inner join score as sc on st.id=sc.stu_id;
+-----+-----------+
| id  | name      |
+-----+-----------+
| 901 | 张老大    |
| 901 | 张老大    |
| 902 | 张老二    |
| 902 | 张老二    |
| 903 | 张三      |
| 904 | 李四      |
| 904 | 李四      |
| 905 | 王五      |
| 906 | 王六      |
| 906 | 王六      |
+-----+-----------+
10 rows in set (0.01 sec)

16.查询姓张或者姓王的同学的姓名、院系和考试科目及成绩

mysql8.0 [SLB1]>select st.name,st.department,sc.c_name,sc.grade from student as st inner join score as sc on st.id=sc.stu_id where name like '张%' or name likke '王%';
+-----------+--------------+-----------+-------+
| name      | department   | c_name    | grade |
+-----------+--------------+-----------+-------+
| 张老大    | 计算机系     | 计算机    |    98 |
| 张老大    | 计算机系     | 英语      |    80 |
| 张老二    | 中文系       | 计算机    |    65 |
| 张老二    | 中文系       | 中文      |    88 |
| 张三      | 中文系       | 中文      |    95 |
| 王五      | 英语系       | 英语      |    94 |
| 王六      | 计算机系     | 计算机    |    90 |
| 王六      | 计算机系     | 英语      |    85 |
+-----------+--------------+-----------+-------+
8 rows in set (0.00 sec)

17.查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩

mysql8.0 [SLB1]>select st.name,(year(curdate())-birth) as age,st.address,st.department,sc.c_name,sc.grade from student as st inner join score as sc on st.id=sc.stu_id where address like '%湖南%';
+--------+------+--------------------+--------------+-----------+-------+
| name   | age  | address            | department   | c_name    | grade |
+--------+------+--------------------+--------------+-----------+-------+
| 张三   |   33 | 湖南省永州市       | 中文系       | 中文      |    95 |
| 王六   |   35 | 湖南省衡阳市       | 计算机系     | 计算机    |    90 |
| 王六   |   35 | 湖南省衡阳市       | 计算机系     | 英语      |    85 |
+--------+------+--------------------+--------------+-----------+-------+
3 rows in set (0.00 sec)

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

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

相关文章

LeetCode 75 第一题(1768)交替合并字符串

题目: 示例: 分析: 这是LeetCode75 的第一道题目,是一道简单题,题目没那么复杂,就是给两个字符串,要这两个字符串你出一个字符我出一个字符来拼凑出一个新的字符串,如果其中一个字符串用完了则剩下部分全部由另一个字符串出. 我们可以使用两个指针分别指向word1和word2: str…

【hadoop】部署hadoop全分布模式

hadoop全分布模式 全分布模式特点部署全分布模式准备工作正式配置hadoop-env.shhdfs-site.xmlcore-site.xmlmapred-site.xmlyarn-site.xmlslaves对NameNode进行格式化复制到另外两台虚拟机启动 对部署是否成功进行测试 全分布模式特点 真正的分布式环境&#xff0c;用于生产具…

【动手学习深度学习--逐行代码解析合集】19含并行连结的网络(GoogleNet)

【动手学习深度学习】逐行代码解析合集 19含并行连结的网络&#xff08;GoogleNet&#xff09; 视频链接&#xff1a;动手学习深度学习–含并行连结的网络&#xff08;GoogleNet&#xff09; 课程主页&#xff1a;https://courses.d2l.ai/zh-v2/ 教材&#xff1a;https://zh-v…

H3C-Cloud Lab实验-三层交换机实验

实验拓扑图&#xff1a; 实验需求&#xff1a; 1. 按照图示为 PC2 和 PC3 配置 IP 地址和网关 2. PC2 属于 Vlan10&#xff0c;PC3 属于 Vlan20&#xff0c;在三层交换机上配置 Vlanif 三层接口实现 Vlan10 和 Vlan20 三层互通 3. PC2 和 PC3 可以互通 实验步骤&#xff1a…

WAIC2023| AIGC究竟在向善还是向恶而行?

目录 一、常见图像篡改技术二、传统篡改图像检测方法2.1、基于光源和噪声的拼接图像篡改检测方法2.2、基于马尔科夫特征的检测方法 三、基于深度学习的图像篡改检测方法3.1、基于Fisher编码和SVM模型的方法3.2、 基于局部异常特征检测的Mantra-Net方法3.2、基于HRNet的编码器—…

Flink是什么

先看下大数据的发展历程 随着公司业务的增加&#xff0c;各种场景都要大量的业务数据产生&#xff0c;对于这些不断产生的数据如何进行有效的处理&#xff1f; 由此诞生了大数据处理工具&#xff1a; 数据存在关系型数据库&#xff0c;比如mysql&#xff0c;如何分析数据&#…

css之混合模式、文字智能适配背景、文字镂空效果、差值模式、滤色模式、difference、screen、overlay、mix、blend、mode

文章目录 文字智能适配背景(差值模式)文字镂空效果(滤色模式)文字与背景叠加(叠加模式)css3混合模式mix-blend-mode功能表格混合模式的分类 文字智能适配背景(差值模式) <div class"main"><span>文字智能适配背景</span> </div>.main {widt…

【python】python手机评论抓取+情感分析(python代码+报告)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、51CTO技术博主 &#x…

1.8 运用C编写ShellCode代码

在笔者前几篇文章中&#xff0c;我们使用汇编语言并通过自定位的方法实现了一个简单的MessageBox弹窗功能&#xff0c;但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底&#xff0c;还需要写出更多的指令集&#xff0c;这对于普通人来说是非常困难的&#xff0c;…

Linux —— 进程介绍

目录 一&#xff0c;进程介绍 二&#xff0c;进程使用 进程查看 通过系统调用获取进程标识符 通过系统调用创建进程 fork 一&#xff0c;进程介绍 进程是正在执行的程序或命令&#xff0c;每个进程都是一个运行的实体或程序的执行实例&#xff0c;有自己的地址空间&#x…

RNA病毒基因组的重头组装-内含tophat2报错的快速解决办法-CPIV3数据分析-2023-07-13

1、使用Trim Galore软件对两次数据进行质控&#xff0c;去掉20bp以下的reads vim新建RNA_seq_script_1对CPIV3测序数据进行质控分析 #!/bin/bash # 上面一行宣告这个script的语法使用bash语法&#xff0c;当程序被执行时&#xff0c;能够载入bash的相关环境配置文件。 # Prog…

Java 核心技术 卷I 第4章 对象与类

第4章 对象与类 4.1 面向对象程序设计概述 面向对象程序设计&#xff08;OOP&#xff09;是当今主流的程序设计范型。 Java是完全面向对象的&#xff0c;必须熟悉OOP才能够编写Java程序。 面向对象的程序是由对象组成的&#xff0c;每个对象包含对用户公开的特定功能部分和…

云计算相关概念

文章目录 一、云计算的三种部署模式&#xff1a;公有云、私有云、混合云--区别和特性二、华为云&#xff1a;简介、主要业务、特点和优势、不同场景和行业中的应用三、华为云-三剑客&#xff1a;IaaS、PaaS、SaaS 一、云计算的三种部署模式&#xff1a;公有云、私有云、混合云–…

驱动程序——字符设备驱动框架

文章目录 编写驱动程序的步骤代码hello_drv.chello_drv_test.c驱动模块代码编译&#xff08;编写Makefile&#xff0c;编译时间短&#xff09;驱动模块代码编译&#xff08;修改Makefile&#xff0c;编译时间长&#xff09;测试 应用调用open函数打开文件应用调用open函数打开设…

学习使用FAsyncTask执行异步任务

目标 要想在另一个线程中执行代码&#xff0c;使用FRunnable是一种方式。而使用FAsyncTask是另一种方式&#xff08;这也是UE的DDC相关代码中所使用的方式&#xff09;。 本篇尝试运行一个 FAsyncTask 的最简单的例子。 1. FAsyncTask 对于任务类的要求 FAsyncTask是一个类…

SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试【4】-O3 不支持 编译失败

gcc -O3 编译失败 结论&#xff1a;默认情况下SPEC CPU 2006 1.2 不支持 gcc -O3编译参数。

谈 Delphi 中 JSON 的简便操作(非常简单)

我曾有讲过Delphi操作JSON的方法&#xff0c;特别是这一篇【delphi】类和记录的 helpers&#xff08;助手&#xff09;。但是因为当时是主要介绍的是Delphi的Helper&#xff0c;大家可能并没注意到Delphi中JSON的简便操作方法。 早期Delphi并没有自己的JSON操作库&#xff0c;大…

51. N 皇后 (递归+回溯)

题目链接&#xff1a;力扣 解题思路&#xff1a;递归回溯&#xff0c;n个皇后不能在同一行&#xff0c;同一列&#xff0c;同一斜线上&#xff0c;需要将n个皇后放在n*n的棋盘上&#xff0c;所以棋盘的每一行一定有一个皇后&#xff0c;因此可以第一行开始&#xff0c;在当前行…

计算机毕设 大数据电商用户行为分析及可视化

文章目录 1. 数据集说明2. 数据处理2.1 数据导入2.2 数据清洗 3.数据分析可视化3.1 用户流量及购物情况3.2 用户行为转换率3.3 用户行为习惯3.4 基于 RFM 模型找出有价值的用户3.5 商品维度的分析 4 最后 1. 数据集说明 这是一份来自淘宝的用户行为数据&#xff0c;时间区间为…

大数据分析平台能为企业带来哪些好处_光点科技

大数据分析平台是近年来迅速发展的一项关键技术&#xff0c;它利用先进的数据处理和分析技术&#xff0c;帮助企业从海量数据中提取有价值的信息和见解。对于企业来说&#xff0c;拥有一个强大的大数据分析平台可以带来许多好处。 首先&#xff0c;大数据分析平台可以帮助企业更…