1、在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄
mysql> select name,age from students where age>25 and gender='M';
+---------------+-----+
| name | age |
+---------------+-----+
| Xie Yanke | 53 |
| Ding Dian | 32 |
| Yu Yutong | 26 |
| Shi Qing | 46 |
| Tian Boguang | 33 |
| Xu Xian | 27 |
| Sun Dasheng | 100 |
| Song Jiang | 45 |
| Zhang Sanfeng | 94 |
+---------------+-----+
9 rows in set (0.00 sec)
2、以ClassID为分组依据,显示每组的平均年龄
mysql> select classid,avg(age) from students group by classid;
+---------+----------+
| classid | avg(age) |
+---------+----------+
| 2 | 36.0000 |
| 1 | 20.5000 |
| 4 | 24.7500 |
| 3 | 20.2500 |
| 5 | 46.0000 |
| 7 | 19.6667 |
| 6 | 20.7500 |
| NULL | 58.2500 |
+---------+----------+
8 rows in set (0.00 sec)
3、显示第2题中平均年龄大于30的分组及平均年龄
mysql> select classid,avg(age) from students group by classid having avg(age)>30;
+---------+----------+
| classid | avg(age) |
+---------+----------+
| 2 | 36.0000 |
| 5 | 46.0000 |
| NULL | 58.2500 |
+---------+----------+
3 rows in set (0.00 sec)
4、显示以L开头的名字的同学的信息
mysql> select * from students where name like 'l%';
+-------+--------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+--------------+-----+--------+---------+-----------+
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 14 | Lu Wushuang | 17 | F | 3 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 27 | li | 10 | F | NULL | NULL |
| 31 | Lin Chaoying | 93 | F | NULL | NULL |
+-------+--------------+-----+--------+---------+-----------+
5 rows in set (0.00 sec)
5、显示TeacherID非空的同学的相关信息
mysql> select * from students where teacherid is not null;
+-------+-------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+-------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 |
| 2 | Shi Potian | 22 | M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
+-------+-------------+-----+--------+---------+-----------+
5 rows in set (0.00 sec)
6、以年龄排序后,显示年龄最大的前10位同学的信息
mysql> select * from students order by age desc limit 10;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
| 29 | Zhang Sanfeng | 94 | M | NULL | NULL |
| 31 | Lin Chaoying | 93 | F | NULL | NULL |
| 30 | Miejue Shitai | 77 | F | NULL | NULL |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 28 | Song Jiang | 45 | M | NULL | NULL |
| 13 | Tian Boguang | 33 | M | 2 | NULL |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 24 | Xu Xian | 27 | M | NULL | NULL |
+-------+---------------+-----+--------+---------+-----------+
10 rows in set (0.00 sec)
7、查询年龄大于等于20岁,小于等于25岁的同学的信息
mysql> select * from students where age>=20 and age<=25;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 |
| 2 | Shi Potian | 22 | M | 1 | 7 |
| 9 | Ren Yingying | 20 | F | 6 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 26 | wang | 20 | M | NULL | NULL |
+-------+---------------+-----+--------+---------+-----------+
11 rows in set (0.00 sec)
mysql> select * from students where age between 20 and 25;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 |
| 2 | Shi Potian | 22 | M | 1 | 7 |
| 9 | Ren Yingying | 20 | F | 6 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 26 | wang | 20 | M | NULL | NULL |
| 33 | hello world | 20 | F | NULL | 1 |
+-------+---------------+-----+--------+---------+-----------+
12 rows in set (0.00 sec)
8、以ClassID分组,显示每班的同学的人数
mysql> select classid,count(*) from students group by classid;
+---------+----------+
| classid | count(*) |
+---------+----------+
| 2 | 3 |
| 1 | 4 |
| 4 | 4 |
| 3 | 4 |
| 5 | 1 |
| 7 | 3 |
| 6 | 4 |
| NULL | 8 |
+---------+----------+
8 rows in set (0.00 sec)
9、以Gender分组,显示其年龄之和
mysql> select gender,sum(age) from students group by gender;
+--------+----------+
| gender | sum(age) |
+--------+----------+
| M | 649 |
| F | 390 |
+--------+----------+
2 rows in set (0.00 sec)
10、以ClassID分组,显示其平均年龄大于25的班级
mysql> select ifnull(classid,'无班级'),avg(age) from students group by classid having avg((age)>25;
+-----------------------------+----------+
| ifnull(classid,'无班级') | avg(age) |
+-----------------------------+----------+
| 2 | 36.0000 |
| 5 | 46.0000 |
| 无班级 | 48.1000 |
+-----------------------------+----------+
3 rows in set (0.00 sec)
11、以Gender分组,显示各组中年龄大于25的学员的年龄之和
mysql> select gender,sum(age) from students where age>25 group by gender;
+--------+----------+
| gender | sum(age) |
+--------+----------+
| M | 433 |
| F | 170 |
+--------+----------+
2 rows in set (0.00 sec
12、显示前5位同学的姓名、课程及成绩
mysql> select name,course,score from students inner join scores on students.stuid=scores.stuid inner join courses on scores.courseid=courses.courseid order by score desc limit 5;
+-------------+----------------+-------+
| name | course | score |
+-------------+----------------+-------+
| Shi Potian | Daiyu Zanghua | 97 |
| Shi Qing | Hamo Gong | 96 |
| Shi Zhongyu | Weituo Zhang | 93 |
| Lin Daiyu | Jinshe Jianfa | 93 |
| Ding Dian | Kuihua Baodian | 89 |
+-------------+----------------+-------+
5 rows in set (0.00 sec)
13、显示其成绩高于80的同学的名称及课程
mysql> select name,score,course from students inner join scores on students.stuid=scores.stuid join courses on scores.courseid=courses.courseid where score>80;
+-------------+-------+----------------+
| name | score | course |
+-------------+-------+----------------+
| Shi Zhongyu | 93 | Weituo Zhang |
| Shi Potian | 97 | Daiyu Zanghua |
| Xie Yanke | 88 | Kuihua Baodian |
| Ding Dian | 89 | Kuihua Baodian |
| Shi Qing | 96 | Hamo Gong |
| Xi Ren | 86 | Hamo Gong |
| Xi Ren | 83 | Dagou Bangfa |
| Lin Daiyu | 93 | Jinshe Jianfa |
+-------------+-------+----------------+
8 rows in set (0.00 sec)
14、取每位同学各门课的平均成绩,显示成绩前三名的同学的姓名和平均成绩
mysql> select name,course,avg(score) from students inner join scores on students.stuid=scores.stuid inner join courses on scores.courseid=courses.courseid group by name,course order by avg(score) desc limit 3;
+------------+---------------+------------+
| name | course | avg(score) |
+------------+---------------+------------+
| Shi Potian | Daiyu Zanghua | 97.0000 |
| Shi Qing | Hamo Gong | 96.0000 |
| Lin Daiyu | Jinshe Jianfa | 93.0000 |
+------------+---------------+------------+
3 rows in set (0.00 sec)
15、显示每门课程课程名称及学习了这门课的同学的个数
mysql> select course,count(name) from students inner join scores on students.stuid=scores.stuid inner join courses on scores.courseid=courses.courseid group by course;
+----------------+-------------+
| course | count(name) |
+----------------+-------------+
| Kuihua Baodian | 4 |
| Weituo Zhang | 2 |
| Daiyu Zanghua | 2 |
| Hamo Gong | 3 |
| Dagou Bangfa | 2 |
| Taiji Quan | 1 |
| Jinshe Jianfa | 1 |
+----------------+-------------+
7 rows in set (0.00 sec)
16、显示其年龄大于平均年龄的同学的名字
mysql> select name,age from students where age>(select avg(age) from students);
+---------------+-----+
| name | age |
+---------------+-----+
| Xie Yanke | 53 |
| Ding Dian | 32 |
| Shi Qing | 46 |
| Tian Boguang | 33 |
| Sun Dasheng | 77 |
| Song Jiang | 45 |
| Zhang Sanfeng | 94 |
| Miejue Shitai | 77 |
| Lin Chaoying | 93 |
+---------------+-----+
9 rows in set (0.00 sec)
17、显示其学习的课程为第1、2,4或第7门课的同学的名字
mysql> select name,classid from students  where classid rlike '1|2|4|7';
+--------------+---------+
| name | classid |
+--------------+---------+
| Shi Zhongyu | 2 |
| Shi Potian | 1 |
| Xie Yanke | 2 |
| Ding Dian | 4 |
| Lin Daiyu | 7 |
| Wen Qingqing | 1 |
| Tian Boguang | 2 |
| Duan Yu | 4 |
| Xu Zhu | 1 |
| Lin Chong | 4 |
| Hua Rong | 7 |
| Diao Chan | 7 |
| Xiao Qiao | 1 |
| Ma Chao | 4 |
+--------------+---------+
14 rows in set (0.00 sec) mysql> select name,classid from students where classid in (1,2,4,7);
+--------------+---------+
| name | classid |
+--------------+---------+
| Shi Zhongyu | 2 |
| Shi Potian | 1 |
| Xie Yanke | 2 |
| Ding Dian | 4 |
| Lin Daiyu | 7 |
| Wen Qingqing | 1 |
| Tian Boguang | 2 |
| Duan Yu | 4 |
| Xu Zhu | 1 |
| Lin Chong | 4 |
| Hua Rong | 7 |
| Diao Chan | 7 |
| Xiao Qiao | 1 |
| Ma Chao | 4 |
+--------------+---------+
14 rows in set (0.00 sec)
18、显示其成员数最少为3个的班级的同学中年龄大于同班同学平均年龄的同学(未理解)
mysql> select s.name,s.classid,s.age,s3.ave from students s left join (select classid,avg(age) ave from students group by classid having count(*)>=3 ) s3 on s.classid=s3.classid where s.classid in (select classid from students group by classid having count(*)>=3) and s.age>s3.ave;
+---------------+---------+-----+---------+
| name | classid | age | ave |
+---------------+---------+-----+---------+
| Shi Potian | 1 | 22 | 20.5000 |
| Ding Dian | 4 | 32 | 24.7500 |
| Yu Yutong | 3 | 26 | 20.2500 |
| Yuan Chengzhi | 6 | 23 | 20.7500 |
| Xu Zhu | 1 | 21 | 20.5000 |
| Lin Chong | 4 | 25 | 24.7500 |
| Hua Rong | 7 | 23 | 19.6667 |
| Huang Yueying | 6 | 22 | 20.7500 |
+---------------+---------+-----+---------+
8 rows in set (0.00 sec)
19、统计各班级中年龄大于全校同学平均年龄的同学
mysql> select name,class,age from students left join classes on students.classid=classes.classid where age>(select avg(age) from students) and class is not null;
+--------------+----------------+-----+
| name | class | age |
+--------------+----------------+-----+
| Ding Dian | Wudang Pai | 32 |
| Shi Qing | Riyue Shenjiao | 46 |
| Tian Boguang | Emei Pai | 33 |
+--------------+----------------+-----+
3 rows in set (0.00 sec)

Mysql入门练习题的更多相关文章

  1. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  2. MySQL入门02-MySQL二进制版本快速部署

    在上篇文章 MySQL入门01-MySQL源码安装 中,我们介绍了MySQL源码安装的方法. 源码安装虽然有着更加灵活和更加优化等诸多优势.但源码编译安装部署的过程相对复杂,而且整个过程所花费的时间很 ...

  3. MYSQL入门全套(第三部)

    MYSQL入门全套(第一部) MYSQL入门全套(第二部) 索引简介 索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构.如果想按特定职员的姓来查找 ...

  4. MySQL入门(三)

    写了两篇<MySQL入门>以后我发现,写书的人还是都挺有本事的,起码人家知道怎么编排自己想讲的知识点,我实在是不知道该先说那里后说哪里,那我就想到什么讲什么吧. 一 写SQL 其实我是不想 ...

  5. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  6. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  7. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  8. mysql 入门 基本命令

    MYSQL入门学习之一:基本操作  1.登录数据库    www.2cto.com     命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码)   ...

  9. MySQL入门笔记(一)

    一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...

随机推荐

  1. Silk语言-中国人自己的开源编程语言

    什么是Silk Silk语言是一门完全独立自主开发的跨平台动态类型编程语言,绝非"木兰"等套壳语言. Silk简单易学,30分钟即可掌握全部语法,让你像Python一样简单地写C/ ...

  2. 【BZOJ2658】[Zjoi2012]小蓝的好友(mrx) (扫描线,平衡树,模拟)

    题面 终于到达了这次选拔赛的最后一题,想必你已经厌倦了小蓝和小白的故事,为了回馈各位比赛选手,此题的主角是贯穿这次比赛的关键人物--小蓝的好友. 在帮小蓝确定了旅游路线后,小蓝的好友也不会浪费这个难得 ...

  3. 漂亮简洁的PHP导航源码-蘑菇导航

    蘑菇导航 蘑菇导航是根据SimpleWebNavigation修改而来的一个php网址导航.支持php8,支持左侧锚点,支持自定义fontawesome图标. 可以作为群组导航.图床导航.vps导航等 ...

  4. 【Java】学习路径30-可变参数 Variable Parameter

    定义一个add函数,要求其功能:传入任意数量的参数然后返回相加的结果. public class VariableParameter { public static void main(String[ ...

  5. javaweb-thymeleaf,加载jar包---视图基础

    1.加载完thymeleaf的jar包 将thymeleaf的jar包复制到项目下lib文件夹中 右击lib文件夹,点击Add as librarb... 打开Project Structure,找到 ...

  6. rh358 005 dhcp dhcp6 打印机 ansible配置dhcp和打印机

    部署dhcp服务器 主机发送Discover报文 目标为广播地址 同一网段的dhcp收到报文后,dhcp响应一个offer报文 offer报文:dhcp自己的ip地址.和客户端ip以及使用周期,和客户 ...

  7. 干货分享|使用 Istio 实现灰度发布

    Kubernetes 作为基础平台,提供了强大的容器编排能力.但是在其上部署业务和服务治理上,仍然会面对一些复杂性和局限性.在服务治理上,已经有许多成熟的 ServiceMesh 框架用于扩充其能力, ...

  8. Nginx服务器性能优化与安全配置实践指南

    转载自:https://www.bilibili.com/read/cv16151784?spm_id_from=333.999.0.0 1.引言 1.1 目的 为了更好的指导部署与测试艺术升系统ng ...

  9. 6.云原生之Docker容器Registry私有镜像仓库搭建实践

    转载自:https://www.bilibili.com/read/cv15219863/?from=readlist #1.下载registry仓库并设置数据存放的目录(并生成认证账号密码) doc ...

  10. catalina.out日志割接

    文章转载自:https://blog.51cto.com/loong576/2091460 Tomcat的catalina.out日志分割有多种方式,如logrotate.cronolog等,本文采用 ...