SQL练习2

1.查询student表的所有记录

mysql> 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)

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


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

mysql> 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)的信息

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


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

mysql> 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.00 sec)


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

mysql> select * from student  where 2023-birth>18 and 2023-birth<22;
Empty set (0.00 sec)
6.从student表中查询每个院系有多少人

mysql> select department,count(id) from student group by department;
+--------------+-----------+
| department   | count(id) |
+--------------+-----------+
| 计算机系     |         2 |
| 中文系       |         2 |
| 英语系       |         2 |
+--------------+-----------+
3 rows in set (0.00 sec)


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

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


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

mysql> select s.c_name,s.grade from score s inner join student st on s.stu_id=st.id where st.name='李四';
+-----------+-------+
| c_name    | grade |
+-----------+-------+
| 计算机    |    70 |
| 英语      |    92 |
+-----------+-------+
2 rows in set (0.00 sec)


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

mysql> select * from score s inner join student st on s.stu_id=st.id ;
10.计算每个学生的总成绩

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


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

mysql> select c_name,avg(grade) from score group by c_name;
+-----------+------------+
| c_name    | avg(grade) |
+-----------+------------+
| 中文      |    91.5000 |
| 英语      |    87.7500 |
| 计算机    |    80.7500 |
+-----------+------------+
3 rows in set (0.00 sec)


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

mysql> select * from score s inner join student st on s.stu_id=st.id where s.grade<95 and s.c_name='计算机' ;
13.查询同时参加计算机和英语考试的学生的信息

mysql> select * from score s inner join student st on s.stu_id=st.id where  s.c_name in ('计算机','英语');
14.将计算机考试成绩按从高到低进行排序

mysql> select * from score s inner join student st on s.stu_id=st.id where s.c_name='计算机' order by s.grade desc ;
 
15.从student表和score表中查询出学生的学号,然后合并查询结果

mysql> select distinct st.id,s.stu_id from score s inner join student st on s.stu_id=st.id ;
+-----+--------+
| id  | stu_id |
+-----+--------+
| 901 |    901 |
| 902 |    902 |
| 903 |    903 |
| 904 |    904 |
| 905 |    905 |
| 906 |    906 |
+-----+--------+
6 rows in set (0.01 sec)


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

mysql> select st.name,st.department,s.c_name,s.grade from score s inner join student st on s.stu_id=st.id where st.name like '张%' or  '王%';
+-----------+--------------+-----------+-------+
| name      | department   | c_name    | grade |
+-----------+--------------+-----------+-------+
| 张老大    | 计算机系     | 计算机    |    98 |
| 张老大    | 计算机系     | 英语      |    80 |
| 张老二    | 中文系       | 计算机    |    65 |
| 张老二    | 中文系       | 中文      |    88 |
| 张三      | 中文系       | 中文      |    95 |
+-----------+--------------+-----------+-------+
5 rows in set, 1 warning (0.00 sec)


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

mysql> select st.name,(2022-birth) as age,s.c_name,grade from score s inner join student st on s.stu_id=st.id where address like '湖南省%';
+--------+------+-----------+-------+
| name   | age  | c_name    | grade |
+--------+------+-----------+-------+
| 张三   |   32 | 中文      |    95 |
| 王六   |   34 | 计算机    |    90 |
| 王六   |   34 | 英语      |    85 |
+--------+------+-----------+-------+
3 rows in set (0.00 sec)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:vim的简单使用

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》 文章目录 前言一、vim的基本概念二、vim的基本操作三、vim正常模式命令集四、vim底行模式命令集五、.xxx.swp的解决总结 前言 本文是对Linux中vim使用的总结 一、vim的基本概念 …

NodeJs(一):初识nodejs、模块化、CommonJS、ESModule等

目录 (一)Nodejs简介 1.nodejs是什么 2.nodejs架构 3.nodejs的应用场景 (二)准备工作 1.安装nodejs 2.nodejs版本管理工具 (三)nodejs的使用 1.node的输入 2.node的输出 3.其他的console方法 (四)全局对象 1.常见的全局对象 2.特殊的全局对象 3.global和window的…

(详细教程)笔记本电脑安装Ubuntu系统

1.前言 老的小米笔记本淘汰了&#xff0c;装一下linux系统玩一下。 使用工具如下&#xff1a;一台小米笔记本pro15.6一个惠普32G U盘一个台式机用于下载镜像等资源 2.下载Ubuntu桌面版 cn.ubuntu.com/download/de… 这里我下载的是 22.04.3 LTS 3.下载烧录工具&#xff0c…

微信开发者工具真机调试连接状态在正常和未连接之间反复横跳

开启局域网模式能解决这个问题&#xff0c;目前只找到这一个方法

【C/PTA —— 13.指针2(课内实践)】

C/PTA —— 13.指针2&#xff08;课内实践&#xff09; 一.函数题6-1使用函数实现字符串部分复制6-2 拆分实数的整数部分和小数部分6-3 存在感 二.编程题7-1 单词反转 一.函数题 6-1使用函数实现字符串部分复制 void strmcpy(char* t, int m, char* s) {int len 0;char* ret …

nvidia安装出现7-zip crc error解决办法

解决办法&#xff1a;下载network版本&#xff0c;重新安装。&#xff08;选择自己需要的版本&#xff09; 网址&#xff1a;CUDA Toolkit 12.3 Update 1 Downloads | NVIDIA Developer 分析原因&#xff1a;local版本的安装包可能在下载过程中出现损坏。 本人尝试过全网说的…

从0开始学习JavaScript--JavaScript ES6 模块系统

JavaScript ES6&#xff08;ECMAScript 2015&#xff09;引入了官方支持的模块系统&#xff0c;使得前端开发更加现代化和模块化。本文将深入探讨 ES6 模块系统的各个方面&#xff0c;通过丰富的示例代码详细展示其核心概念和实际应用。 ES6 模块的基本概念 1 模块的导出 ES…

java基于Spring Boot+vue的民宿客房租赁预订系统的设计与实现含源码数据库

民宿租赁系统在对开发工具的选择上也很慎重&#xff0c;为了便于开发实现&#xff0c;选择的开发工具为IDEA&#xff0c;选择的数据库工具为Mysql。以此搭建开发环境实现民宿租赁系统的功能。其中管理员管理用户&#xff0c;新闻公告。 民宿租赁系统是一款运用软件开发技术设计…

红队攻防实战之某商城Getshell

此后如竟没有炬火&#xff0c;我便是唯一的光 信息收集 端口扫描 nmap -T4 -A -p 1-65535 可以看到目标系统开放22、80、888、3306、8800端口 敏感文件扫描 http:///admin/login.html 后台登陆地址泄露 漏洞挖掘 phpinfo信息泄露 phpinfo信息泄露&#xff0c;此站为Linu…

激光SLAM:Faster-Lio 算法编译与测试

激光SLAM&#xff1a;Faster-Lio 算法编译与测试 前言编译测试离线测试在线测试 前言 Faster-LIO是基于FastLIO2开发的。FastLIO2是开源LIO中比较优秀的一个&#xff0c;前端用了增量的kdtree&#xff08;ikd-tree&#xff09;&#xff0c;后端用了迭代ESKF&#xff08;IEKF&a…

SQL Server 数据库,为products表添加数据

在插入数据的时候&#xff0c;需要注意以下事项。 > 每次插入一整行数据&#xff0c;不可能只插入半行或几列数据。 > 数据值的数目必须与列数相同&#xff0c;每个数据值的数据类型、精度和小数位数也必须与相应的 列匹配。 > INSERT语句不能为标识列指定值&#…

kafka 集群 ZooKeeper 模式搭建

Apache Kafka是一个开源分布式事件流平台&#xff0c;被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序 Kafka 官网&#xff1a;Apache Kafka 关于ZooKeeper的弃用 根据 Kafka官网信息&#xff0c;随着Apache Kafka 3.5版本的发布&#xff0c;Zookeeper现…