• SQL查询练习(一)


    新建学生信息表 students :sno , sname , ssex , birthday , province , class

    新建学生选修信息表 cclasses :sno , cno , grade

    一、单表查询练习

    1、查询<学生信息表>,查询学生"张三"的全部基本信息

    select * from students where sname='张三';

    2、查询<学生信息表>,查询学生"张三"和”王四”的基本信息

    select * form students where sname='张三' and sname='王四';

    3、查询<学生信息表>,查询姓"张"学生的基本信息

    select * form students where sname like '张%';

    4、查询<学生信息表>,查询姓名中含有"四"字的学生的基本信息

    select * form students where sname like '%四%';

    5、查询<学生信息表>,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部信息

    select * form students where sname like '李_强';

    6、查询<学生信息表>,查询姓"张"或者姓”李”的学生的基本信息

    select * form students where sname like '张%' or sname like '李%';

    7、查询<学生信息表>,查询姓"张"并且"所属省份"是"北京"的学生信息

    select * form students where sname like '张%' and province = '北京';

    8、查询<学生信息表>,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息

    select * form students where province in ('北京','新疆','山东','上海');

    9、查询<学生信息表>,查询姓"张",但是"所属省份"不是"北京"的学生信息

    select * form students where sname like '张%' and province not in ('北京');

    10、查询<学生信息表>,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序

    select * form students order by ssex , province , class;

    11、查询<学生信息表>,查询现有学生都来自于哪些不同的省份

    select distinct province form students;

    12、查询<学生选修信息表>,查询没有填写成绩的学生的学号、课程号

    select sno, cno form classes where grade is null; 

    13、查询<学生选修信息表>,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序

    select * form classes where grade is not null order by grade desc;

    二、聚合函数练习

    1、统计<学生信息表>,统计共有多少个学生

    select count(*) as 学生总数 form students;

    2、统计<学生信息表>,统计年龄大于20岁的学生有多少个

    select count(*) as 学生数 form students where borthday < 1997;

    3、统计<学生信息表>,统计出生时间在1980年至1982年的学生人数

    select count(*) as 学生数 form students where birthday between 1980 and 1982;

    4、统计<学生选修信息表>,统计学号为"S001"的学生的平均成绩

    select avg(grade) form classes where sno=s001;

    5、统计<学生选修信息表>,统计学号为"S001"的学生的总成绩

    select sum(grade) form classes where sno=s001;

    6、统计<学生选修信息表>,查询课程号为”C001”的课程的最高成绩

    select max(garde) form classes where cno=c001;

    7、统计<学生信息表>,查询所有学生中的最大年龄是多少

    select min(birthday) form students;

    三、分组查询练习

    1、统计<学生选修信息表>,统计每个课程的选修人数

     select cno , count(*) form classes group by cno;

    2、统计<学生选修信息表>,统计每个同学的总成绩

     select sno , sum(grade) form classes group by sno;

    3、统计<学生信息表>,统计每个班级中每种性别的学生人数,并按照班级排序

     select class , ssex , count(*) form students group by ssex order by class;

    4、统计<学生选修信息表>,统计每门课程的平均成绩,并按照成绩降序排序

     select cno , avg(grade) form classes group by cno order by avg(grade) desc;

    5、统计<学生选修信息表>,显示有两门以上课程不及格的学生的学号,成绩

     select sno , grade form classes where grade < 60 group by sno having count(*)>2;

    6、统计<学生信息表>,统计每个班级中的最大年龄是多少

     select class , min(birthday) form students group by class;

  • 相关阅读:
    【leetcode_medium】78. Subsets
    【opencv基础】随机颜色生成
    【leetcode_easy_array】1566. Detect Pattern of Length M Repeated K or More Times
    XSSFSheet对象的格式设置(转)
    Devexpress控件使用技巧
    Visual Studio 2017社区版安装C++开发环境(转)
    DevExpress GridControl添加选择框的两种方法
    DevExpress GridControl使用教程:之 添加 checkbox 复选框(转)
    DevExpress中GridControl中实现checkbox多行选中(转)
    C#开发WinForm窗体程序时,如何在子窗体中关闭窗口时并退出程序?(转)
  • 原文地址:https://www.cnblogs.com/kimsbo/p/6272820.html
Copyright © 2020-2023  润新知