mysql练习_mysql语句的练习

43db57ce669409000304cb537c84abbc.png
练习1

A:查询姓‘王’的学生的个数

SELECT

COUNT(*)

FROM

student

WHERE

name LIKE ('王%')

;

cfa07eee9c12453349c84b35c928e5a6.png
题目A

B:查询‘数学’比‘语文’成绩高的所有学生的学号

SELECT

id

FROM

(

SELECT

student.id,

max(

CASE

WHEN course.`name` = '语文' THEN

sc.score

END

) chinese,

max(

CASE

WHEN course.`name` = '数学' THEN

sc.score

END

) math

FROM

student

JOIN sc ON student.id = sc.sid

JOIN course ON course.id = sc.cid

GROUP BY

student.id

HAVING

chinese > math

) 嵌套表

57358cee174c0898c40d259814f9178a.png
题目B

C:查询平均成绩大于90分的同学的学号和平均成绩

SELECT

student.id,

AVG(score)

FROM

student

JOIN sc ON student.id = sc.sid

GROUP BY

student.id

HAVING

AVG(score) >= 90;

b8b01b88ac3c4f165f3d0fb6d9e14f58.png
题目C

715cdede27851f0fc8341317f628b4f7.png
练习2

(1):请写出计算所有学生的英语平均水平成绩的sql语句

SELECT AVG(english) FROM mark;

b0143b776394195c5295dde3297e3434.png
题目(1)

(2):现有五个学生,其学号假定为11,22,33,44,55;请用一条sql语句实现列出这五个学生的数学成绩及其姓名、学生地址、电话号码;

SELECT

cust.studentno,

cust. NAME,

cust.address,

cust.telno,

mark.math

FROM

cust

JOIN mark ON cust.studentno = mark.studentno

WHERE

cust.studentno IN (11, 22, 33, 44, 55);

3a4fe243d9265fd34899f5c1035f4bb7.png
题目(2)

(3):查询所有学生的姓名、计算机成绩、按照计算机成绩从高到低排序;

SELECT

cust. NAME,

mark.computer

FROM

cust

JOIN mark ON cust.studentno = mark.studentno

ORDER BY

mark.computer DESC;

1f1ab23c68f6a78a1eaa5286e78e21dd.png
题目(3)

(4):查询所有总成绩大于240分学生的学号、姓名、总成绩,按照总成绩由高到低排序;

SELECT

cust.studentno,

cust. NAME,

SUM(

mark.english + mark.computer + mark.math

)

FROM

cust

JOIN mark ON cust.studentno = mark.studentno

GROUP BY

cust.studentno

HAVING

SUM(

mark.english + mark.computer + mark.math

) > 240;

ORDER BY

SUM(

mark.english + mark.computer + mark.math

)

0c91f4cd82f2fa4917202f888d8ca826.png
题目(4)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值