当前位置:首页 > 数据库 > mysql查询所有姓王的信息

mysql查询所有姓王的信息

2022年08月04日 20:35:45数据库4

student表

mysql查询所有姓王的信息 _ JavaClub全栈架构师技术笔记

teacher表

mysql查询所有姓王的信息 _ JavaClub全栈架构师技术笔记

course表

mysql查询所有姓王的信息 _ JavaClub全栈架构师技术笔记

score表

mysql查询所有姓王的信息 _ JavaClub全栈架构师技术笔记

对这四个表进行一些练习。

1:查询student表中所有记录。

select *from student;

2:查询student表中name/sex/classid这些列。

select  name,sex,classid from student;

3:查询教师中不重复的单位department。

select distinct department from teacher;

distinct 列(一个或多个) 获取不重复的记录

4:查询score表中成绩再60至80之间的记录。

select *from score where degree between 60 and 80;

5:查询score表中成绩为85,86,88的记录。

select *from score where degree in (86,85,88);

6:查询student表中为95031班的或性别为女生的。

select *from student where classid=95031 or sex='女';

7:以classid列降序查询student表的所有记录。

select *from student order by desc classid ;

8:以degree降序courseid升序输出score表中所有记录。

select *from score order by courseid asc, degree desc;

9:查询95031班级的人数。

select count(id) from student where classid=95031;

10:查询score表中成绩最高者的记录。

select *from score where degree=(select max(degree) from score);

或: select id,courseid,degree order by degree desc limit 0,1;

11:查询每门课的平均数。

select courseid,avg(degree) from score group by courseid;

12:查询score表中至少2名学生选修以3开头的课程的平均分数。

select courseid, avg(degree) as average from score group by courseid having count(courseid)>1 and courseid like '3%';

13:查询score中分数大于70小于90的id列。

select  *from score where degree between 70 and 90;

14:查询学生的name列和degree列和classid列(多表查询)。

select name,degree,classid from student,score where student.id=score.id

15:查询学生的课程id课程名和degree列(多表查询)。

select coursename,degree from score,course where course.courseid=score.courseid;

16:查询学生的姓名成绩和对应课程名。(三表查询)。

select  name,degree,coursename from student,course,score where score.id=student.id and score.courseid=course.courseid;

17:查询95031班学生每门课的平均成绩(子查询)。

select avg(degree) from score where id in(select id from student where classid=95031) group by courseid;

18:查询选修3105课程高于109好同学3105课程成绩的同学记录。

select *from score where courseid=3105 and degree>(select degree from score where id=109 and courseid=3105);

19:查询成绩高于学号109课程号为3105的同学的记录。

select *from score where  degree>(select degree from score where id=109 and courseid=3105);

20:查询学号与101和108的同学同年出生的学生的记录。

select name, brithday,classid from student where year(brithday) in (select year(brithday) from student where id=108 or id=101);

21:查询张旭老师教的课程学生的成绩。

select *from score where courseid in (select courseid from course where teacherid=(select id from teacher where name='张旭'));

22:查询选修课多余5人的老师的记录。

select *from teacher where id in (select teacherid from course where courseid in (select courseid from score group by courseid having count(courseid)>5));

23:查询95033和95031班级同学的记录

select *from student where classid in (95033,95031);

24:查询88分以上成绩的课程name。

select coursename from course where courseid in(select courseid from score where degree>88);

25:查询计算机系老师所教课程同学的成绩。

select *from score where courseid in(select courseid from course where teacherid in(select id from teacher where department='计算机系'));

26:查询计算机系与电子工程系不同职称的教师的记录。

select *from teacher where department='计算机系'and professional  not in (select professional from  teacher where department='电子工程系' )

-> union

-> select *from teacher where department='电子工程系'and professional  not in (select professional from  teacher where department='计算机系' );

27:查询选修编号为3105的课程成绩至少高于部分选修3245课程学生的成绩的记录。

select *from score where courseid=3105  and degree> any(select degree from score where courseid=3245);

28:查询选修编号为3105的课程成绩高于所有选修3245课程学生的成绩的记录。

select *from score where courseid=3105  and degree> all(select degree from score where courseid=3245);

29:查询所有教师和学生的name ,sex ,brithday。

select name,sex,brithday from student

-> union

-> select name,sex,brithday from teacher;

30:查询女教师和女同学的name sex brithday。

select name,sex,brithday from student where sex='女'

-> union

->  select name,sex,brithday from teacher where sex='女';

31:查询成绩比该课程平均分低的同学的成绩。

select *from score a where degree

32:查询任课老师的name和department。

select *from teacher where id in(select teacherid from course where courseid in(select courseid from score group by courseid));

33:查询班级中至少有2名男生的班级。

select classid from student where sex='男' group by classid having count(classid)>1;

34:查询班级中不姓王的同学。

select *from student where name not like '王%';

35:查询所有学生的姓名和年龄。

select name,year(now())-year(brithday) as age from student;

36:查询学生中年龄最大和年龄最小的数据。

select max(year(now())-year(brithday)),min(year(now())-year(brithday)) from student;

37:以班号和年龄从大到小顺序查询student表中所有记录。

select *from student order by classid,year(now())-year(brithday);

38:查询男教师所上的课程。

select coursename from course where teacherid in (select  id from teacher where sex='男');

39:查询最高分同学的信息。

select *from score where degree =(select max(degree) from score);

40:查询和季军同性别的所有同学。

select *from student where sex=(select sex from student where name='季军');

41:查询和季军同性别并同班的同学的信息。

select *from student where sex=(select sex from student where name='季军') and classid=(select classid from student where name='季军');

42:查询所有选修计算机导论课程的男同学的成绩。

select *from score where courseid=(select courseid from course where coursename='计算机导论') and id in(select id from student where sex='男' );

标签:courseid,练习,查询,score,student,MySQL,where,select

来源: https://www.cnblogs.com/zhangyang4674/p/11604017.html

作者:一个轮子
来源链接:https://blog.csdn.net/weixin_42375011/article/details/114879143

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/database/17495.html

标签: MySQL
分享给朋友:

“mysql查询所有姓王的信息” 的相关文章

MySQL数据库(基础)

MySQL数据库(基础)

目录 1. 数据库概念 1.1 数据库是干嘛的? 1.2 数据库和数据结构是啥关系? ​1.3 两种类型的数据库 2. MySQL数据库 2.1 MySQL数据库概念 2.2 MySQL基本操作  2.2.1 建立...

MYSQL的存储过程

MYSQL的存储过程 概述 什么是存储过程? mysql5.0版本开始支持存储过程; 简单的说,存储过程就是一组sql语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于java语言中的方法; 存储过程就是数据库s...

MySQL事务和锁

MySQL事务和锁

1.事务 1.什么是事务? 事务: 要么全部成功,要么全部失败 事务是数据库管理系统(DBMS)执行过程中的一个 逻辑单位 ,由一个 有限的数据库操作序列 组成。 逻辑单位:最小的操作单位,不可再分割。 有限的数据库操作序列:...

Linux安装MySQL(超详细)

Linux安装MySQL(超详细)

1 查看是否已经安装 Mysql rpm -qa | grep mysql 我之前装过一次! 如果你查看出来有东西,可以使用下面命令将其删除 rpm -e 文件名   2 下载官方 Mysq...

MySQL安装之yum安装

MySQL安装之yum安装

 在CentOS7中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1. 下载并安装MySQL官方的 Yum Repository [root@Bria...

JDBC如何连接mysql数据库附详细步骤

JDBC如何连接mysql数据库附详细步骤

JDBC连接数据库在学习中是很重要的一个环节,今天给大家详细说明JDBC连接数据库需要的步骤 1.加载驱动 驱动包的下载地址 https://dev.mysql.com/downloads/connector/j/ 到时候要将这个加载到项目中然后输入...

cloudera-scm-server启动出现Error creating bean with name 'entityManagerFactoryBean'与HHH010003: JDBC Driver class not found: com.mysql.jdbc.Driver错误解决办法(图文详解)

cloudera-scm-server启动出现Error creating bean with name 'entityManagerFactoryBean'与HHH010003: JDBC Driver class not found: com.mysql.jdbc.Driver错误解决办法(图文详解)

     不多说,直接上干货!       问题详情 2017-07-31 22:19:40,342 INFO main:com.cloudera.server.cmf.Main: Starting SCM Serv...

MySQL查询JSON类型字段中某个属性值

MySQL查询JSON类型字段中某个属性值

只支持MySQL5.7以上的版本 user表中有如下数据: id profile 1 {“age”: 20, “name”: “...

mysql 查询数据库内存大小

mysql 查询数据库内存大小

查询某个数据库,指定数据库名:打开information_schema,在它之下查询 select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables whe...

mysql 查询1小时内

mysql 查询1小时内

由于项目的需要经常查询一个小时之内的数据,接下来吾爱编程为大家分享一下使用Mysql查询一个小时之内的数据的sql,有需要的小伙伴可以参考一下: 1、方法一: (1)、sql写法: SELECT * FROM 表名&...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。