MySQL上机第二章-单表查询

一、上机目的:

                              熟悉数据表查询(单表查询)


二、上机要求

                             基于实验一创建的表,完成下列单表查询


(1) 查询全体教师的教师号、姓名和职称

SELECT Tno 教师号, Tn 姓名, Prof 职称 FROM T;

(2)查询学生的全部信息

SELECT * FROM S;

(3)查询选修了课程的学生号

SELECT DISTINCT Sno FROM SC;

(4)查询全体学生的姓名、学号和年龄。

SELECT Sn 姓名,Sno 学号,Age 年龄 FROM S;

(5)查询选修课程号为’C3’的学生的学号和成绩。

SELECT Sno,CNo,Score FROM SC WHERE CNo='C3';

(6)查询成绩高于70分的学生的学号、课程号和成绩。

SELECT Sno,CNO,Score FROM SC WHERE Score >70;

(7)查询选修了C3或C4且分数大于等于60分学生的学号、课程号和成绩.

SELECT Sno,CNo,Score FROM SC WHERE Score>60 AND CNo IN ('C3','C4');

(8)查询岗位津贴在1000~1500元之间的教师的教师号、姓名及职称。

SELECT TNo,TN,Prof FROM T WHERE Sal BETWEEN 1000 AND 1500;

(9)查询岗位津贴不在1000~1500之间的教师的教师号、姓名及职称。

SELECT TNo,TN,Prof FROM T WHERE Sal NOT BETWEEN 1000 AND 1500;

(10)查询选修C3或C4的学生的学号、课程号和成绩。

SELECT Sno,CNo,Score FROM SC WHERE CNo IN('C3','C4');

(11)查询没有选修C3,也没有选修C4的学生的学号、课程号和成绩。

SELECT Sno,CNo,Score FROM SC WHERE CNo NOT IN('C3','C4');

(12)查询所有姓“王”的教师的教师号和姓名。

SELECT TNo,TN FROM T WHERE TN LIKE('王%%');

(13)查询姓名中第二个汉字是“雪”的教师的教师号和姓名。

SELECT TNo,TN FROM T WHERE TN LIKE('%雪%');

(14)查询姓名中第三个符号是“%”的学生学号和姓名。

SELECT Sno,Sn FROM S WHERE Sn LIKE('__%%');

(15)查询没有考试成绩的学生的学号和相应的课程号。

SELECT Sno,CNo FROM SC WHERE Score IS NULL;

(16)求学号为S5的学生的总分和平均分。

SELECT SUM(Score)SUMScore,AVG(Score)AVGScore FROM SC WHERE Sno='S5';

(17)求选修C1号课程的最高、最低分及之间相差的分数

SELECT MAX(Score)-MIN(Score) 差值 FROM SC WHERE CNo='C1';

(18)求学校中共有多少个系。

SELECT COUNT(DISTINCT Dept) Dept FROM T;

(19)统计有成绩同学的人数。(成绩为0的同学也计算在内,没有成绩(即为空值)的就不计算。

SELECT COUNT(DISTINCT Sno) FROM SC WHERE Score IS NOT NULL;

(20)求计算机系学生的总数。

SELECT COUNT(Sno) FROM S WHERE Dept LIKE('计算机');

(21)查询各个教师的教师号及其任课的门数。

SELECT TNo,COUNT(CNo) FROM TC GROUP BY TNo;

(22)查询选修两门以上课程的学生的学号和选课门数。

SELECT Sno,COUNT(CNo) FROM SC GROUP BY Sno HAVING COUNT(CNo)>2;

(23)查询选修C2的学生学号和成绩,并按成绩升序排列。

SELECT Sno,Score FROM SC WHERE CNo='C2' ORDER BY Score;

(24)查询选修C2、C3、C4或C5课程的学号、课程号和成绩,查询结果按学号升序排列,学号相同再按成绩降序排列。

SELECT Sno,CNo,Score FROM SC
WHERE CNo IN('C2','C3','C4','C5')
ORDER BY Sno ASC,Score DESC;

(25)查询选课在三门及以上(包含三门)且各门课程均及格的学生的学号及其总成绩,查询结果按总成绩降序列出

SELECT Sno,SUM(Score) FROM SC 
WHERE Score > 60
GROUP BY Sno HAVING COUNT(Sno)>=3
ORDER BY SUM(Score) DESC;

注意:

第16题 SUM(Score)SUMScore 后面的SUMScore是为后面查询出来的列命名 你可以设置为任一名字并不一定要跟博主一样以此类推

第24题 由于MySQL默认是升序,但是为了区分还是在Sno后面加上了ASC(升序),由于学号相同再按成绩降序排列 因此在Score后面添加              DESC 表示降序


第二章练习到此结束......明天将进行第三章练习的更新,禁止摘抄,违权必究,摘录文章发表要 表明出处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值