mysql 学生成绩表例题

#查询姓张的每个学生的最低分大于60的学号和姓名

SELECT r.studentno,studentname
FROM result r
INNER JOIN student s
ON r.`studentno`=s.`studentno`
WHERE s.`studentname` LIKE ‘张%‘
GROUP BY r.`studentno`
HAVING MIN(r.`score`)>60;

#查询生日在‘1988-1-1‘后的学生的姓名和专业名称

SELECT studentname,m.`majorname`
FROM student s
INNER JOIN major m
ON s.`majorid`=m.`majorid`;
WHERE DATEDIFF(borndate,‘1988-1-1‘)>0;

#查询每个专业的男生人数和女生人数分别是多少

SELECT COUNT(*),sex,majorid
FROM student
GROUP BY sex,majorid;

SELECT (SELECT COUNT(*) FROM student WHERE sex=‘男‘ AND s.majorid=majorid ),
             (SELECT COUNT(*) FROM student WHERE sex=‘女‘ AND s.majorid=majorid),
             majorid
FROM student s
GROUP BY majorid;

#查询专业和张翠山一样的学生的最低分

SELECT MIN(score)
FROM result r
WHERE r.`studentno`IN
(SELECT studentno
    FROM student s
    WHERE s.`majorid` =(
        SELECT majorid
        FROM student
        WHERE studentname=‘张翠山‘
        )
)

#查询大于60分的学生的姓名、密码、专业名

SELECT studentname,loginpwd,majorname
FROM student s
INNER JOIN major m
ON s.`majorid`=m.`majorid`
INNER JOIN result r
ON r.`studentno`=s.`studentno`
WHERE r.`score`>60;

#按邮箱位数分组,查询每组的学生个数

SELECT COUNT(*)
FROM student
GROUP BY LENGTH(email);

#查询学生名、专业名、分数

SELECT studentname,majorname,score
FROM student s
INNER JOIN major m
ON s.`majorid`=m.`majorid`
INNER JOIN result r
ON r.`studentno`=s.`studentno`;

#查询哪个专业没有学生,分别用左连接和右连接实现

SELECT majorname
FROM major m
LEFT OUTER JOIN student s
ON m.`majorid`=s.`majorid`
WHERE s.`majorid` IS NULL;  

#查询没有成绩的学生人数

SELECT COUNT(*)
FROM student s
LEFT JOIN result r ON s.studentno=r.studentno

WHERE r.id IS NULL;

原文地址:https://blog.51cto.com/14437184/2439104

时间: 2024-10-16 03:08:23

mysql 学生成绩表例题的相关文章

学生——成绩表2.2

一.表说明同“学生——成绩表2.1” 二.目录 选课情况 1.       查询学过"张三"老师授课的同学的信息 2.       查询没学过"张三"老师授课的同学的信息 3.       查询选修了全部课程的学生信息 4.       查询没有学全所有课程的同学的信息 5.       查询出只选有两门课程的全部学生的学号和姓名 6.       检索至少选修两门课程的学生学号 7.       查询每门课程被选修的学生数 8.       查询学过编号为&quo

学生——成绩表2.1

一.表说明(MYSql) 二.导入测试数据 学生表 insert into Student values('01' , N'赵雷' , '1990-01-01' , N'男'); insert into Student values('02' , N'钱电' , '1990-12-21' , N'男'); insert into Student values('03' , N'孙风' , '1990-05-20' , N'男'); insert into Student values('04'

学生成绩表 SQL练习题

create table Student ( Sno char(3) primary key, Sname char(8) not null, Ssex char(2) not null, Sbirthday datetime, Class char(5) ); create table Course ( Cno varchar(10) primary key, Cname varchar(10) not null, Tno char(3) references Teacher(Tno) );

sql从学生成绩表中查出各科成绩分布最多的记录

题目:有一个数据表student,包含name(姓名),dept(科目),score(成绩)三个字段,现在要求查出每科成绩分数分布最多的项,如语文成绩80分最多,就输出语文80分的人数,数学90分的人最多,输出数学90分的人数: 测试数据: insert into student values ("deng","80","语文"); insert into student values ("zhang","80&qu

学生成绩表(输入成绩后自动算出最高、最低、平均分)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h3>千峰H5成绩计算表</h3> <table> <tr> <td>班级名称:</td> <td><input type="

mysql的多表查询

对于mysql在生活中的应用,使用的最多的就是查,你的每次浏览都可能是对mysql数据的一次查询, 因此mysql数据查询的方式非常多样化,尤其是对于多表联合查询. 现在给出三张表,后面的操作都是在这三张表上进行的. 表一:学生信息表(student_info) mysql> select * from student_info; +----+-----------+------+ | id | name | sex | +----+-----------+------+ | 1 | 科比 |

合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友_python

这时候还需要把各个工作表合并到一起来形成一个汇总表.这时候比较麻烦也比较容易出错,因为各个表的学号不一定都是一致的.对齐的.因为可能会有人缺考,有人会考号涂错等等.特奉献以下代码,用于合并学生成绩表或者其它类似的表都可以.本代码特点在于不需要使用SQL或者Access等大头软件,只需要Excel就可以执行,非常方便,速度也不慢.转载请勿清除广告. 没有合适的局域网管理软件吗?你的网管工具够灵活够高效吗?看看这个network management software. ' ============

C#打印成绩表代码

题目:一个班6个人,从键盘输入每个学号语文,数学,外语成绩(不需输入学号). 输出:学生成绩表(包括每个人的总分),每科的平均分.附加1:试着,把不及格的用红字显示.附加2:试着按照总分排序,显示名次出来. static void Main(string[] args) { int[,] a = new int[6, 5]; for (int i = 0; i < 6; i++) { a[i, 0] = i + 1; Console.Write("请输入第" + (i + 1)

sql 统计 关于学生成绩

文章来源于:http://www.cnblogs.com/tenghoo/archive/2007/06/11/779240.html 学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三 数学 89 1 张三 语文 80 1 张三 英语 70 1 李四 数学 90 2 李四 语文 70 2 李四 英语 80 2 创建表 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_