【MySQL】——Select查询语句知识点练习(其一)

编程入门 行业动态 更新时间:2024-10-23 15:28:50

【MySQL】——Select查询语句<a href=https://www.elefans.com/category/jswz/34/1770093.html style=知识点练习(其一)"/>

【MySQL】——Select查询语句知识点练习(其一)

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯 问题及答案:


🎯 问题及答案:

1.查看学生全部信息。

SELECT sno,sname,age,sex

FROM S;

或.SELECT * FROM S;

2.查询全部学生的学号和姓名。

SELECT sno,sname

FROM S

3.查询学生学号、姓名和出生年份。

SELECT sno,sname,2019-age as 出生年份

FROM S ;

4.查询选修了课程的学生学号

SELECT DISTINCT sno

FROM SC;

5、查询女学生的学号、姓名和年龄。

SELECT sno,sname,age

FROM S

WHERE sex=‘女’;

6.查询所有年龄大于19岁的女生的姓名和学号。

SELECT sname,sno

FROM S

WHERE age>19 and sex=‘女’;

7.查询学生学号、姓名和出生年份,并按出生年份的升序排列,出生年份相同时,按学号的降序排列。

SELECT sno,sname,2019-age as 出生年份

FROM S

ORDER BY 生出年份 ,sno desc

 

8.查询所有姓王的学生的全部信息。

SELECT *

FROM S

WHERE sname LIKE ‘王%’;

9.查询学号第二位是1的所有学生姓名。

SELECT sname

FROM S

WHERE sno LIKE ‘_1%’

10.查询课程名为“DB_DE”的课程号。

SELECT cno

FROM C

WHERE cname LIKE ‘DB/_DE’ ESCAPE ‘/’;

 

11.查询选修了课程但没参加考试的学生的学号。

SELECT sno

FROM SC

WHERE grade IS NULL;

12.查询所有有成绩的学生学号和课程号

SELECT sno,cno

FROM SC

WHERE grade IS NOT NULL;

 

13.查询所有年龄在17到18岁之间的学生的学号和姓名。

SELECT sno,sname

FROM S

WHERE age >=17 and age <=18

或者

SELECT sno,sname

FROM S

WHERE  age BETWEEN 17 and 18

 

14.查询所有年龄不在17到18岁之间的学生的学号和姓名。

SELECT sno,sname

FROM S

WHERE  age<17 or age>18

或者

SELECT sno,sname

FROM S

WHERE age NOT BETWEEN 17 and 18

 

15.查询选修了课程号c1或c2的学生的学号。

SELECT sno

FROM SC

WHERE cno=‘c1’ or cno=‘c2’

或者

SELECT sno

FROM SC

WHERE cno IN (‘c1’, ‘c2’);

 

16.查询年龄不是17岁和18岁的学生的学号

SELECT sno

FROM S

WHERE age!=17 and age!=18   或者

 

SELECT sno

FROM S

WHERE age NOT IN (17, 18);

 

17.求c2课程的平均成绩。

SELECT AVG(grade)

FROM SC

WHERE cno=‘c2’

 

18.求男同学的总人数和平均年龄。

SELECT  COUNT(*), avg(age)

FROM S

WHERE sex=‘男’;

 

19.统计选修了课程的学生人数。

 

SELECT COUNT ( distinct sno )

FROM SC;

20.求选修课程c2的学生的最高分和最低分。

SELECT MAX(grade) as 最高分, MIN(grade)as 最低分

FROM SC

WHERE cno=‘c2’;

 

21.求每个同学平均分。

SELECT AVG(grade) as 平均分

FROM SC

GROUP BY sno;

 

22.查询平均分在80以上的同学的平均分。

 

SELECT sno,AVG(grade)

FROM SC

GROUP BY sno

HAVING AVG(grade)>80;

 

23.查询至少选修两门课程的学生学号。

 

SELECT sno

FROM SC

GROUP BY sno

HAVING COUNT(cno)>=2;

 

 

24.查询有一门课程成绩等于95分的学号、姓名、课程号和成绩。

 

SELECT S.sno,sname,cno,grade

FROM S, SC

WHERE S.sno=SC.sno and grade=95

 

 

25.查询女学生的学号、姓名、成绩。

SELECT S.sno,sname,grade

FROM S, SC

WHERE S.sno=SC.sno and sex=’女’;

 

 

26.找出平均成绩80以上的女生姓名。

 

SELECT sname

FROM S, SC

WHERE S.sno=SC.sno and sex=’女’

GROUP BY sname

HAVING AVG(grade)>80 ;

 

 

27.求刘正老师所授的每门课程的课程号、课程名和学生平均成绩。

 

SELECT Co,cname,AVG(grade)

FROM C, SC

WHERE Co=SCo and tname=’刘正’

GROUP BY Co,cname

 

 

28检索至少选修两门课程的学生姓名。(采用连接查询)

SELECT sname

FROM SC,S

WHERE SC.sno=S. sno

GROUP BY sname

HAVING COUNT(cno)>=2;

 

 

29.查询选修c2或c3课程的学生学号和姓名。

SELECT distinct S.sno,sname

FROM S, SC

WHERE S.sno=SC.sno and ( cno=‘c2’or cno=‘c3’);

 

30.查询选修c2和c3课程的学生学号。

SELECT X.sno

FROM SC as X,SC as Y

WHERE X.sno=Y.sno and Xo=‘c2’and Yo=‘c3’ ;

 

 

31.查询选修了课程’c1’并且选修课程在三门以上的同学学号。

SELECT X.sno

FROM SC X, SC Y

WHERE X.sno=Y.sno and Xo='c1'

GROUP BY X.sno

HAVING COUNT ( Yo )>2

 

32.检索至少选修两门课程的学生姓名。(采用自身连接查询)

SELECT sname

FROM SC X, SC Y, S

WHERE X.sno=Y.sno AND X.sno=S.sno

AND Xo<>Yo;

更多推荐

【MySQL】——Select查询语句知识点练习(其一)

本文发布于:2023-12-07 01:11:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1669608.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:知识点   语句   MySQL   Select

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!