• 【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 C.cno,cname,AVG(grade)

    FROM C, SC

    WHERE C.cno=SC.cno and tname=’刘正’

    GROUP BY C.cno,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 X.cno=‘c2’and Y.cno=‘c3’ ;

     

     

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

    SELECT X.sno

    FROM SC X, SC Y

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

    GROUP BY X.sno

    HAVING COUNT ( Y.cno )>2

     

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

    SELECT sname

    FROM SC X, SC Y, S

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

    AND X.cno<>Y.cno;

  • 相关阅读:
    windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流
    阿里巴巴算力攻坚新突破:阿里云20%新增算力将使用自研CPU
    Shell开发实践:服务器的磁盘、CPU、内存的占用监控
    c++期末复习题
    红外小目标:AGPCNet网络结构与模型搭建
    网络支付安全:面临的风险与防范策略
    一、docker简介及卸载、安装
    Windows模拟器推荐
    MATLAB的官方网站上其实有很多MATLAB的学习和使用资料(文档、视频都有不少)
    Spring Cloud Gateway实现限流
  • 原文地址:https://blog.csdn.net/shsjssnn/article/details/133930621