• MySQL--单表查询


    创建数据表grade:

    CREATE TABLE grade(
        id INT NOT NULL,
        sex CHAR(1),
        firstname VARCHAR(20) NOT NULL,
        lastname VARCHAR(20) NOT NULL,
        english FLOAT,
        math FLOAT,
        chinese FLOAT
    );

    数据表grade中插入几条数据:

    INSERT INTO grade
    VALUES (1,'m','John','Smith',88.0,85.0,82.0),
    (2,'f','Adam','Smith',76.0,78.0,90.0),
    (3,'m','Allen','William',88.0,92.0,95.0),
    (4,'m','George','William',62.0,58.0,72.0),
    (5,'f','Alice','Davis',89.0,94.0,98.0),
    (6,'m','Kevin','Miller',77.0,88.0,99.0),
    (7,'f','Helen','Davis',79.0,83.0,91.0),
    (8,'m','Andrew','Johnson',81.0,86.0,88.0);  

    1、查询所有字段

    select * from grade;


    2、查询grade表中的id,firstname,lastname字段

    select id,firstname,lastname from grade;


    3、查询grade表中id大于4的学生姓名

     select id,firstname,lastname from grade where id > 4;


    4、查询grade表中女生的记录

     select * from grade where sex = 'f';


    5、查询grade表中id值为2,4,6的学生记录

     select * from grade where id = 2 or id = 4 or id = 6;


    6、查询grade表中math成绩在85到94之间的记录

    select * from grade where math between 85 and 94;


    7、查询grade表中firstname以A开头的记录

    select * from grade where firstname like 'A%';


    8、查询grade表中firstname以A开头以e结尾的记录

    select * from grade where firstname like 'A%e';


    9、查询grade表中firstname包含l的记录

    select * from grade where firstname like '%l%';


    10、查询grade表中firstname以A开头后面有4个字符的记录

     select * from grade where firstname like 'A____';


    11、查询grade表中english在80到90之间的记录

    select * from grade where english between 80 and 90;


    12、查询grade表中math大于90 或者 chinese大于90的记录

    select * from grade where math > 90 or chinese > 90;


    13、查询grade表中id不是1、3、5、7的记录

    select * from grade where  id not in (1,3,5,7);


    14、查询grade表中的性别有哪些

    select distinct sex from grade;


    15、查询grade表中的lastname有哪几种

    select distinct lastname from grade;


    16、求出表中所有记录的条数

     select count(*) from grade;


    17、求出表中英语成绩是80的记录的条数

    select count(*) from grade where english = 80;


    18、计算所有学生的数学成绩的和

    select sum(math) from grade;


    19、计算女生的数学成绩的和

    select sum(math) from grade where sex = 'f';


    20、计算英语成绩平均分

     select avg(english) from grade;


    21、计算男生的英语成绩平均分

    select avg(english) from grade where sex = 'm';


    22、求出数学成绩的最高分

     select max(math) from grade;


    23、求出男生中的数学最高分

    select max(math) from grade where sex = 'm';


    24、按照math成绩的升序进行排列

    select * from grade order by math;


    25、按照sex字段的升序和chinese字段的降序排列

     select * from grade order by sex,chinese desc;


    26、查询数据表grade中的记录,按照sex字段进行分组

     select sex from grade group by sex;


    27、将grade表按照lastname字段值分组,并计算每个分组中的学生数

    select lastname,count(*) from grade group by lastname;


    28、对grade表按照lastname字段分组,查出math字段和小于100的组

     select lastname from grade group by lastname having sum(math) <100;


    29、查询grade表中的第3到第6条记录

    select * from grade order by id limit 2,4;


    30、查询grade表中男生平均成绩(三科)大于85的记录

     select * from grade where sex = 'm' and (english + math + chinese)/3 > 85;

  • 相关阅读:
    安装node.js详细步骤
    [附源码]JAVA毕业设计老年人健康饮食管理系统(系统+LW)
    08 nginx 的一次请求处理调试
    R语言检索网址汇总
    大语言模型构建的主要四个阶段(各阶段使用的算法、数据、难点以及实践经验)
    403ByPass总结
    FS4067 SOP8 5V输入两节锂电池升压型充电管理芯片
    关于el-form中的el-input回车自动刷新页面
    AWS S3
    FF300R12ME7B11BPSA1 2个独立式 1200V 300A IGBT模块
  • 原文地址:https://blog.csdn.net/m0_59344541/article/details/139274186