精华内容
下载资源
问答
  • mysql查询学生总人数
    万次阅读
    2019-02-18 16:37:55

    select sClass 班级,count(*) 班级学生总人数,
    sum(case when sGender=0 then 1 else 0 end) 该班级女生人数,
    sum(case when sGender=0 then 1 else 0 end)1.0/count() 该班级女生所占比例,
    sum(case when sGender=1 then 1 else 0 end) 该班级男生人数,
    sum(case when sGender=1 then 1 else 0 end)1.0 /count() 该班级男生所占比例
    from student GROUP BY sClass ORDER BY sClass asc

    更多相关内容
  • mysql数据库查询练习

    千次阅读 2021-01-18 21:53:07
    创建四张数据表学生表student:学号,姓名,性别,出生年月日,所在班级教师表teacher:教师编号,教师名,教师性别,出生年月日,职称,所在部门课程表course:课程号,课程名,教师编号成绩表score:学号,课程号...

    创建四张数据表

    学生表student:学号,姓名,性别,出生年月日,所在班级

    教师表teacher:教师编号,教师名,教师性别,出生年月日,职称,所在部门

    课程表course:课程号,课程名,教师编号

    成绩表score:学号,课程号,成绩

    添加信息:

    学生表:

    insert into student values ('1001','老大','男','1999-08-01','2000');

    insert into student values ('1002','老二','女','1999-08-02','2000');

    insert into student values ('1003','老三','男','1999-08-03','2001');

    insert into student values ('1004','老四','女','1999-08-04','2001');

    insert into student values ('1005','老五','男','1999-08-05','2002');

    insert into student values ('1006','老六','男','199

    展开全文
  • MySQL(表)-实操数据查询

    千次阅读 2021-04-21 04:14:00
    MySQL(表)-实操数据查询MySQL(表)-实操:数据查询练习1:成绩表筛选创建成绩表(exam):CREATE TABLE exam(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20) NOT NULL,chinese DOUBLE,math DOUBLE,english DOUBLE...

    MySQL(表)-实操数据查询

    MySQL(表)-实操:数据查询

    练习1:成绩表筛选

    创建成绩表(exam):

    CREATE TABLE exam(

    id INT PRIMARY KEY AUTO_INCREMENT,

    NAME VARCHAR(20) NOT NULL,

    chinese DOUBLE,

    math DOUBLE,

    english DOUBLE

    );

    c29f105a0677487eae7aac7ff8031816.png

    插入数据:

    INSERT INTO exam VALUES(NULL,'关羽',85,76,70);

    INSERT INTO exam VALUES(NULL,'张飞',70,75,70);

    INSERT INTO exam VALUES(NULL,'赵云',90,65,95);

    INSERT INTO exam VALUES(NULL,'刘备',97,50,50);

    INSERT INTO exam VALUES(NULL,'曹操',90,89,80);

    INSERT INTO exam VALUES(NULL,'司马懿',90,67,65);

    78e08077032cb4e6e570190c1e401e7f.png

    我们将进行以下练习:

    1、查询表中所有学生的信息。

    SELECT * FROM exam;

    dc1d36d33865cce84d0fea225e918ce5.png

    2、查询表中所有学生的姓名和对应的英语成绩。

    SELECT NAME,english FROM exam;

    1c53f2f3b789abfef4391fdb17e6562f.png

    3、过滤表中重复数据。

    SELECT DISTINCT * FROM exam;

    0c1d78eb9d957dea2f1053301900c1cd.png

    4、在所有学生分数上加10分特长分。

    SELECT NAME 姓名,(chinese+10) 语文加10分,math=(math+10) 数学加10分,english=(english+10) 英语加10分 FROM exam;

    5a3343768aafa564b28cb6199b208309.png

    5、统计每个学生的总分。

    SELECT NAME 姓名,(chinese+math+english) 总分 FROM exam;

    f76620fa3200d8452504768683fa51c9.png

    6、使用别名表示学生分数。

    SELECT NAME 姓名,chinese 语文,math 数学,english 英语 FROM exam;

    fc31562c0f695b5515342c10bb5bf39e.png

    -----使用WHERE子句

    7、查询姓名为刘备的学生成绩

    SELECT * FROM exam WHERE NAME="刘备";

    f52baa28032191b683b1ab692246a738.png

    8、查询英语成绩大于90分的同学

    SELECT * FROM exam WHERE english>90;

    65a8bc84481d641e772427538f3bf6f8.png

    9、查询总分大于200分的所有同学

    SELECT * FROM exam WHERE (chinese+math+english)>200;

    0d6cd5058550cb4743d1cd2c0f57aadc.png

    10、查询英语分数在 80-90之间的同学。

    SELECT * FROM exam WHERE english>=80 AND english<=90;

    28d4d8865c77a2954d7324acde4f1e47.png

    11、查询数学分数为89,75,91的同学。

    SELECT * FROM exam WHERE math=89 OR math=75 OR math=91;

    5b1eea36e92c1e4f32812deddec31c3b.png

    12、查询所有姓刘的学生成绩。

    SELECT * FROM exam WHERE NAME LIKE "刘%";

    3049809fe0b9cdc6ea31003716025477.png

    13、查询所有姓刘两个字的学生成绩。

    SELECT * FROM exam WHERE NAME LIKE "刘_";

    e62a98561cc6e77604c3646eeccb03c5.png

    14、查询数学分>80并且语文分>80的同学。

    SELECT * FROM exam WHERE math>80 AND chinese>80;

    97fc3e402d166a3950db68b4ebfee800.png

    15、查询数学分>80 或者 语文分>80的同学。

    SELECT * FROM exam WHERE math>80 OR chinese>80;

    832457a665decafd7fbaac51452e9f95.png

    ------使用ORDER BY  排序

    16、对数学成绩排序后输出。

    SELECT * FROM exam ORDER BY math;

    b025f8e542e7d3ebdb7810a0544c76bf.png

    17、对总分排序按从高到低的顺序输出

    SELECT *,(chinese+math+english) 总分 FROM exam ORDER BY 总分 DESC;

    de6cc8e5a405a489c1e9876f8de32839.png

    18、对姓赵的学生成绩排序输出

    SELECT *,(chinese+math+english) 总分 FROM exam WHERE NAME LIKE "赵%" ORDER BY 总分;

    070d3bc2e340809f746cdc8c5bac8350.png

    ------使用COUNT(函数)

    19、统计一个班级共有多少学生?

    SELECT COUNT(*)  数量 FROM exam;

    1ae566dd1f0ae53cdd27713f4af23705.png

    20、统计数学成绩大于或等于90的学生有多少个?

    SELECT COUNT(*)  数量 FROM exam WHERE math>=90;

    1ada94ed0172b2469193db88139f28b5.png

    语文成绩大于或等于90的学生数量:

    SELECT COUNT(*) 数量 FROM exam WHERE chinese>=90;

    502a60885fd3a11cedfe5954e07216fb.png

    21、统计总分大于220的人数有多少?

    SELECT COUNT(*) 数量 FROM exam WHERE (chinese+math+english)>220;

    ffec5298f59c88af4b5b3e66bc8eea83.png

    -------使用SUM函数

    22、统计一个班级数学总成绩?

    SELECT SUM(math) 数学成绩总和 FROM exam;

    e331af50040493c2fa4df3c06c96d6d4.png

    23、统计一个班级语文、英语、数学各科的总成绩

    SELECT SUM(chinese) 语文成绩总和,SUM(math) 数学成绩总和,SUM(english) 英语成绩总和 FROM exam;

    3dd2eb447ec2e1a3b7c707392db47153.png

    24、统计一个班级语文、英语、数学的成绩总和

    SELECT SUM(chinese+math+english) 3科成绩总和 FROM exam;

    afe1067e5126e588d59d579234ddec93.png

    25、统计一个班级语文成绩平均分

    SELECT SUM(chinese)/COUNT(*) 语文成绩平均分 FROM exam;

    cee47097680bb482da12145983406296.png

    也可以SELECT AVG(chinese) 语文成绩平均分 FROM exam;

    6ceaf96aae4931e769cdd05419633e6d.png

    --------使用AVG函数

    26、求一个班级数学平均分?

    SELECT AVG(math) 数学成绩平均分 FROM exam;

    a8c3bf8d5f0c4545b9f5f653412b5c04.png

    27、求一个班级总分平均分

    SELECT AVG(chinese+math+english) 班级总平均分 FROM exam;

    69d762cac0c3a49d5721218ffe1132c4.png

    -------使用MAX,MIN函数

    28、求班级最高分和最低分(数值范围在统计中特别有用)

    SELECT MAX(chinese+math+english) 班级最高分,MIN(chinese+math+english) 班级最低分 FROM exam;

    59af2284d27accb066053ae9d0d5f08b.png

    MySQL(表)-实操数据查询相关教程

    展开全文
  • MySQL-五-多表查询

    千次阅读 2021-01-28 04:38:34
    学号=NULL、 全联结 联结应用案例: 练习二:查询所有学生的学号,姓名,选课数,成绩 分析思路:因为涉及到两张表所以要用到联结-如何联结?-通过学号-用哪种联结?因为查找每个学生的信息,要保留学生表里的所有...

    33

    1.表的加法(union)

    表的加法是将两个表的数据,按照行合并到一起。合并时会把重复的数据删除。

    如果想保留重复的行,应在union后加all

    练习一:如何合并两个表?

    方法一:新建course1表后合并

    ZVbM7v.jpg

    ZVbM7v.jpg

    JzyeQv.jpg

    588178

    rEju2u.jpg

    588178

    方法二:course-复制表-数据与结构-重命名-打开表-修改数据-写下两表合并的sql语句

    n2uMzu.jpg

    588178

    viMZRb.jpg

    viMZRb.jpg

    2.表的联结

    使用as关键字方便使用,列名前要加表的别名,innerjoin 选出同时存在两个表中的数据。

    内联结的sql语句:

    select a.学号,a.姓名,b.课程号

    from student as a inner join score as b

    on a.学号=b.学号

    左联结的sql语句:

    select.a.学号,a.姓名,b.课程号

    from student as a inner join score as b

    on a.学号=b.学号

    SELECT a.学号,a.姓名,b.课程号

    from student as a LEFT JOIN score as b

    on a.学号=b.学号

    WHERE b.学号=NULL

    右联结的aql语句:

    SELECT a.学号,a.姓名,b.课程号

    from student as a RIGHT JOIN score as b

    on a.学号=b.学号

    WHERE a.学号=NULL、

    全联结

    联结应用案例:

    练习二:查询所有学生的学号,姓名,选课数,总成绩

    分析思路:因为涉及到两张表所以要用到联结-如何联结?-通过学号-用哪种联结?因为查找每个学生的信息,要保留学生表里的所有学号-左联结-where 查询条件无-group by分组,每个学生的选课数-按学号分组对课程数计数count-按学号分组,对学生成绩进行求和sum-having无-order by 对结果排序无-limit无

    RRnaAv.jpg

    RRnaAv.jpg

    练习三:查询平均成绩大于85分的所有学生的学号,姓名,平均成绩。

    仍然涉及学生表student与score成绩表;因为是联结查询,要在select子句中的各个列名加上表的别名。

    因为平均成绩是分组后得到的。分组结果加上条件—。用Having子句。

    V7NRVf.jpg

    V7NRVf.jpg

    练习四:查询学生的选课情况:学号,姓名,课程号,课程名称(此题涉及三表联结)

    e2mMna.jpg

    e2mMna.jpg

    CASE 表达式

    练习五:查询成绩是否及格

    select 学号,成绩,课程号,

    (case when 成绩>=60 then’及格’

    when 成绩<60 then’不及格’

    else null

    end)as 是否及格

    from score;

    查询出每门课程的及格人数和不及格人数

    当有多种情况需要条件判断时候,使用case 表达式

    YjQVJv.jpg

    YjQVJv.jpg

    使用分段【100-85】,【85-70】,【70-60】,【<60】来统计各科成绩,来统计各科成绩,分别统计各分数段人数,课程号和课程名称。

    这道题遇到了很多问题,在社群会员的帮助下,终于得到了正确答案。

    错误答案:错误原因是第一行select b.课程名称后面要加逗号,

    from行中 a.课程号应该等于b.课程名称

    6VVzmu.jpg

    6VVzmu.jpg

    mi6NR3.jpg

    mi6NR3.jpg 正确答案

    SQLZOO 练习:Join Operation

    AFBVje.jpg

    AFBVje.jpg

    7R7jiq.jpg

    7R7jiq.jpg

    naeENj.jpg

    naeENj.jpg

    y6nquu.jpg

    y6nquu.jpg

    EB7Zfa.jpg

    EB7Zfa.jpg

    ENvaUn.jpg

    ENvaUn.jpg

    meeaAb.jpg

    meeaAb.jpg

    ZVrmQz.jpg

    ZVrmQz.jpg

    分析思路:

    首先分析问题,求对德国的比赛中得分的球员姓名。

    要用到哪张表?球员姓名在goal表,对战德国的比赛,说明主场team1或者客场team2有一方应是德国,用到game表。

    两表关系:两表内联结,但有重复值,用distinct去掉

    条件:用teamid!='GER'防止列出德国球员;主客场有一方是德国,所以a.team1='GER' or a.team2='GER

    code:

    SELECT distinct(b.player)

    FROM game as a inner join goal as b ON a.id = b.matchid

    WHERE b.teamid!='GER'and (a.team1='GER' or a.team2='GER')

    iQF7V3.jpg

    iQF7V3.jpg 错误答案;

    RNJ7Nv.jpg

    RNJ7Nv.jpg 正确答案,其中order by改为group by;from条件中,ON处matchid=teamid

    zQfuAn.jpg

    zQfuAn.jpg

    UVr2iu.jpg

    UVr2iu.jpg 查询结果要求有比赛日期

    JjaqUj.jpg

    JjaqUj.jpg

    qeiaIb.jpg

    qeiaIb.jpg

    bYnmqm.jpg

    bYnmqm.jpg

    展开全文
  • MySQL查询练习2

    千次阅读 2021-04-21 04:14:34
    MySQL查询练习2导读:本次MySQL查询语句是本人考试题目;所有题目都已通过;该查询练习并没有sql文件进行检查;如果有书写以及其他错误欢迎指出。题目正文:1.找出借书超过5本的借阅信息找出借书超过5本的借阅信息...
  • 6 -- 5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的成绩 5 7 -- 6、查询"李"姓老师的数量 5 8 -- 7、查询学过"张三"老师授课的同学的信息 5 9 -- 8、查询没学过"张三"老师授课的同学的信息 5 10 -- ...
  • mysql中如何查询同时参加计算机考试和英语考试的学生人数mysql中如何查询同时参加计算机考试和英语考试的学生人数mysql中如何查询同时参加计算机考试和英语考试的学生人数学生信息表学生成绩表score代码整体思路代码...
  • MySQL学生人数统计小案例

    千次阅读 2022-01-01 21:14:15
    classinfo表数据: studentinfo表数据: 每个班的学生人数 # 统计每个班的学生人数 SELECT classinfo.`class_name`,COUNT(studentinfo.`c_id`) counts FROM classinfo LEFT JOIN studentinfo ON classinfo.`id`=...
  • mysql查询练习答案.pdf

    2020-04-17 15:25:50
    答案
  • SELECT * from tb_result; set character_set_results = gbk; set character_set_server = gbk; set character_set_client = gbk; set character_set_connection = gbk; set character_set_database = gbk;...
  • 现在有一张学生表,字段如下。请按照班级查询,并统计各班级男、女的人数和总人数
  • MySQL查询各科成绩前三名的记录及排名(不考虑成绩并列情况)MySQL查询各科成绩前三名的记录及排名(不考虑成绩并列情况)我的表结构:先放代码-- 查询各科成绩前三名的记录(不考虑成绩并列情况)SELECTsc1.`s_id`,sc1.`c...
  • mysql 查询语句学生表、课程表、 成绩表、教师表.docx
  • n) 查询总成绩大于200分的学生学号 select sno,sum(grade) from sc group by sno having sum(grade) > 200; o) 查询每门课程不及格学生人数 select cno,count(sno) from sc where grade ; p) 查询不及格课程超过3门...
  • 今天小编就为大家分享一篇关于MySQL常用SQL语句总结包含复杂SQL查询,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • java学生信息录入和查询(连接mysql数据库).doc 1成绩录入...
  • MySQL中,可以通过SELECT COUNT(*) FROM table_name查询某个表中有多少条记录。如果想知道某个数据库中所有别的记录总数应该怎么做呢?本文给出两种可行的Java程序,解决该问题。1. 首先确定数据库中有多少个表,...
  • MySQL查询练习

    千次阅读 2021-02-08 14:09:05
    个人笔记 仅供参考查询练习数据准备准备一些数据供下文使用1、学生表(student)学号,姓名,性别,出生年月日,班级mysql> create table student(-> sno varchar(20) primary key,-> sname varchar(20) not ...
  • MySQL练习题

    千次阅读 2019-02-14 19:03:30
    2、查询学生总人数  select count(sid) as '学生总人数' from student;   3、查询“生物”课程和“物理”课程成绩都及格的学生id和姓名;  select sid,sname  from student  where sid  in...
  • mysql关于学生查询语句

    千次阅读 2020-07-21 16:30:03
    1、查询表中所有学生的信息。 SELECT * from exam 2、查询表中所有学生的姓名和对应的英语成绩。 select name,english from exam 3、过滤表中重复数据。 select distinct * from exam 4、在所有学生分数上加10分特长...
  • mysql查询语句学生表、课程表、成绩表、教师表参照.pdf
  • mysql查询语句学生表、课程表、成绩表、教师表文.pdf
  • MySQL查询 4:聚合函数

    2020-12-04 11:14:54
    为了快速得到统计数据,经常会用到如下5...例2:统计学生表中,height 字段 有数据的总人数 select count(height) from students; 2.求最大值 max(列)表示求此列的最大值 例3:求年龄最大的女生 select max(age)
  • 4、编写sql,查询某某课程及格的总人数以及不及格的总人数以及没成绩的人数, select class_id, count(distinct case when score ) s1, count(distinct case when score >= 60 then student_id end) s2, count...
  • MySQL之数据库查询.docx

    2021-09-21 09:58:50
    MySQL基本查询语句
  • Mysql 查询练习

    千次阅读 2021-01-26 01:38:16
    Mysql 查询练习---创建班级表create tableclass(cidint auto_increment primary key,captionvarchar(20))engine=innodb default charset=utf8;---创建学生表create tablestudent(sidint auto_increment primary key,...
  • mysql-学生表32题

    千次阅读 2020-12-19 04:39:17
    计数函数count] from 从哪张表中查找数据 [成绩表sscore] where查询条件 [无] SELECT COUNT(DISTINCT sid)选了课程的总人数 FROM sscore; 练习三:分组 group by 7、查询各科成绩最高和最低的分 构造思路: select ...
  • SQL统计各专业学生人数

    万次阅读 2021-02-07 18:07:08
    其中select代表查询,count(*)是统计行数量,student是学生表,使用上述语句可以统计学生表中的所有行记录也就是学生总人数。扩展资料常用sql语句介绍:1、 查询指定列SQL>SELECT empmo, ename, mgr FROM emp;...
  • #1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数SELECT c.*,a.s_score,b.s_scoreFROM score AS a,score AS b,student AS cWHERE c.s_id=a.s_id AND a.s_id=b.s_id AND a.c_id='01'AND b.c_id='02'AND a.s_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,805
精华内容 3,522
关键字:

mysql查询学生总人数

mysql 订阅