11111

查询"01"课程比"02"课程成绩高的学生的信息及课程分数  

SELECT

 s.*,

 s1.s_score 01score,

 s2.s_score 02score 

FROM

 Score s1,

 Score s2,

 student s 

WHERE

 s1.s_id = s2.s_id 

 AND s1.s_id = s.s_id 

 AND s1.c_id in ( '01','02') 

 AND s1.s_score > s2.s_score;

 

 

 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩

使用函数 HAVING 

SELECT

 st.*,

 avgscore 

FROM

 student AS st

 INNER JOIN ( SELECT s_id, AVG( s_score ) AS avgscore FROM score GROUP BY s_id HAVING avgscore > 60 ) AS s ON st.s_id = s.s_id

 

查询"李"姓老师的数量 

select count(tname)

from Teacher

where tname like '李%';

 

 

查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩 10分

SELECT 

st.s_id,

st.s_name,

COUNT(sc.c_id),

CASE WHEN SUM(sc.s_score) IS NULL THEN 0.00 ELSE ROUND(SUM(sc.s_score),2) END AS '总成绩'

FROM student st 

LEFT JOIN score sc ON sc.s_id=st.s_id

GROUP BY st.s_id

 

求每门课程的学生人数

 

SELECT c_id,COUNT(c_id) FROM score

GROUP BY c_id 

 

查询1990年出生的学生名单 

 

SELECT * FROM student

WHERE YEAR(s_birth)='1990'

 

查询下周过生日的学生(存在疑点)

select * from student 

where week(concat(year(curdate()),"-",mid(s_birth,6,5))) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值