首页 > 数据库 >MySQL小练习(1)

MySQL小练习(1)

时间:2024-03-26 20:31:45浏览次数:17  
标签:-- sno 练习 dept student MySQL where select

-- (1)查询全体学生的学号与姓名

select sno,sname from student;

-- (2)查询全体学生的姓名、学号和所在系

select sname,sno,dept from student;

-- (3)查询全体学生的详细记录

select * from student;

-- (4)查询全体学生的姓名及其出生年份

select sname,2024-sage as 出生年份 from student;

-- (5)查询计算机系全体学生

select * from student where dept = '计算机系'

-- (6)查询所有年龄20岁以下的学生的姓名及年龄

select sname,sage from student where sage < 20;

-- (7)查询成绩不及格学生的学号

select student.sno from student,sc

where student.sno = sc.sno and grade < 60;

-- (8)查询考试成绩在80~90之间的学生学号、课程号和成绩

select sno,cno,grade from sc where grade  BETWEEN 80 and 90;

-- (9)查询考试成绩不在80~90之间的学生学号、课程号和成绩

select sno,cno,grade from sc where grade not BETWEEN 80 and 90;

-- (10)查询信息管理系、通信工程系和计算机系学生的姓名和性别

select sname,ssex,dept from student

where dept in ('信息管理系','通信工程系','计算机系');

-- (11)查询信息管理系、通信工程系和计算机系三个系之外的其他系学生的姓名和性别

select sname,ssex,dept from student

where dept not in ('信息管理系','通信工程系','计算机系');

-- (12)查询姓“张”的学生详细信息

select * from student where sname like '张%';

-- (13)查询姓“张”、姓“李”和姓“刘”的学生的详细信息

select * from student where sname like '张%' or sname like '李%' or sname like '刘%';

-- (14)查询名字的第2个字为“小”或“大”的学生的姓名和学号

select sname,sno from student where sname like '_大%' or sname like '_小%';

-- (15) 查询所有不姓“刘”的学生姓名

select sname from student where sname not like '刘%';

-- (16)在Student表中查询学号的最后一位不是2、3、5的学生信息

select * from student where sno not like '%2' and sno not like '%3' and sno not like '%5';

-- (17)查询还没有考试的学生的学号和相应的课程号。

select s.sno,cno from student s,sc c

where s.sno = c.sno and Grade is null;

-- 或者

select s.sno 学号,c.cno 课程号 from student s join sc c on s.sno = c.sno

where c.grade is null;

-- (18)查询计算机系男生的姓名。

select sname from student where dept = '计算机系' and ssex = '男';

-- (19)查询C002和C003课程中考试成绩在80~90的学生的学号、课程号和成绩。

select sno,cno,grade from sc where (cno =  'c002' or cno =  'c003')

and grade >=80 and Grade <= 90;

-- (20)查询修了“C002”课程的学生的学号及成绩,查询结果按成绩降序排列。

select sno,grade from sc where cno = 'c002' ORDER BY Grade desc;

-- (21)查询全体学生详细信息,结果按系名升序排列,同一个系的学生按出生日期降序排列

select  sno,sname,ssex,dept,2024 - sage from student

ORDER BY dept ,2024 - sage desc;

-- 或者

select * from student order by dept,sage desc;

-- (22)统计学生总人数

select count(*) from student;

-- (23)统计选修了课程的学生人数

select count(DISTINCT cno) from sc;

-- (24)计算学号为“0811101”的学生的考试总成绩

select sum(grade) from student,sc where student.sno = sc.sno and student.sno = '0811101';

-- (25)计算“0831103”学生的平均成绩

select avg(grade) from student,sc where student.sno = sc.sno and student.sno = '0831103';

-- (26)查询“C001”课程考试成绩的最高分和最低分

select max(grade),min(grade) from sc where cno = 'c001';

-- (27)统计每门课程的选课人数,列出课程号和选课人数

select cno,count(cno) from sc

GROUP BY cno;

-- 或者

select Cno 课程号, COUNT(*) 选课人数 from sc group by Cno;

-- (28)统计每个学生的选课门数和平均成绩

select count(cno),avg(grade) from sc;

-- 或者

select Sno 学号,COUNT(*) 选课人数,AVG(nullif(grade,0)) 平均成绩

from sc

group by Sno;

-- (29)统计每个系的女生人数

select count(dept),dept from student where ssex = '女'  GROUP BY dept;

-- (30)统计每个系的男生人数和女生人数以及男生的最大年龄和女生的最大年龄。结果按系名的升序排序

select dept,count(dept),count(dept),max(sage),min(sage) from student

where ssex = '男' or ssex = '女'

GROUP BY dept;

-- (31) 查询选课门数超过3门的学生的学号和选课门数

select sno,count(cno) from sc GROUP BY sno having count(cno) > 3;

-- (32) 查询选课门数大于等于4门的学生的平均成绩和选课门数

select avg(grade),count(cno) from sc group by sno having count(cno) >= 4;

-- 或者

select sno 学号 , AVG(nullif(grade,0)) 平均成绩 , count(sno) 选课门数

from  sc

group by sno

having count(sno)>=4;

-- 或者如果成绩由为空的,则用高级查询的一个函数ifnull(_,_)

select sno 学号,avg(ifnull(grade,0)) 平均成绩,count(sno) 选课门数 from sc

group by sno

having count(sno)>=4;

-- (33) 查询计算机系和信息管理系每个系的学生人数

select dept,count(*) from student where dept = '计算机系' or dept = '信息管理系' group by dept;

-- 或者

select dept 系名 , count(dept) 学生人数

from student

group by dept

having dept in('计算机系','信息管理系');

标签:--,sno,练习,dept,student,MySQL,where,select
From: https://blog.csdn.net/qq_46019713/article/details/136896430

相关文章

  • mysql学习笔记-单表学习
    分类全称说明DDLDataDefinitionLanguage数据定义语言,用来定义数据库对象(数据库,表,字段)DMLDataManipulationLanguage数据操作语言,用来对数据库表中的数据进行增删改DQLDataQueryLanguage数据查询语言,用来查询数据库中表的记录DCLDataControl......
  • 蓝桥杯 试题 基础练习 十进制转十六进制 C++
    问题描述十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制......
  • java毕业设计商城平台(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的迅猛发展和电子商务的蓬勃兴起,商城平台已经成为人们日常生活中不可或缺的一部分。从服装、电子产品到食品、日用品等,几乎任何想得到的商......
  • java毕业设计体检中心信息管理系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着人们健康意识的增强和医疗保健水平的提高,体检成为现代生活中不可或缺的一部分。体检中心作为提供专业健康检查服务的机构,其信息管理效率和服务质量直......
  • java毕业设计商洛市尾矿资源管理系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:商洛市位于中国陕西省东南部,该地区矿产资源丰富,历史上矿业开采活动频繁。然而,随着矿产资源的不断开发利用,产生了大量的尾矿。尾矿如果处理不当,不仅会造成......
  • java毕业设计企业知识产权管理系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在知识经济时代,知识产权已成为企业核心竞争力的重要标志。企业为了保护自主创新成果、维护商业利益和市场竞争力,需要对专利、商标、版权等知识产权进行有......
  • java毕业设计文体用品商城的设计与实现(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,电子商务已经成为人们日常生活的一部分。文体用品作为日常生活中的重要组成部分,其销售模式也正在由传统的线下门店向线上电商平......
  • java毕业设计企业售后服务管理系统(Springboot+mysql+jdk1.8+maven3.39)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今的商业环境中,企业之间的竞争愈发激烈,产品与服务同质化现象普遍。因此,除了提供高质量的产品之外,优质的售后服务也成为企业获得竞争优势和市场份额的......
  • MySQL高阶语句(一)
    一、常用查询(增、删、改、查)        对MySQL数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。例如只取10条数据、对查询结果进行排序或分组等等1、按关键字排序PS:类比于windows任务管理器        使用SELECT语句可以将需要的数......
  • MySQL ERROR 1227 (42000)错误处理
    在还原数据库的时候,遇到以下报错:ERROR1227(42000)atline18:Accessdenied;youneed(atleastoneof)theSUPER,SYSTEM_VARIABLES_ADMINorSESSION_VARIABLES_ADMINprivilege(s)forthisoperation从错误信息看,似乎是用户权限不够。但是,实际上不是权限的问题。解......