• MySQL 基础语句的练习2


      1 CREATE TABLE student
      2 (
      3     id INT,
      4     NAME VARCHAR (10),
      5     Chinese FLOAT,
      6     English FLOAT,
      7     Math FLOAT    
      8 );
      9 
     10 INSERT INTO student VALUES (1,'张三',80,70,90);
     11 INSERT INTO student VALUES (2,'李四',70,80,80);
     12 INSERT INTO student VALUES (3,'张三',80,70,90);
     13 INSERT INTO student VALUES (4,'张大锤',82.5,86.5,90);
     14 INSERT INTO student VALUES (5,'李二蛋',76.5,80,78);
     15 INSERT INTO student VALUES (6,'王老五',76.5,92,78);
     16 
     17 -- 查询表中所有学生的信息
     18 SELECT * FROM student;
     19 
     20 -- 查询表中所有学生的姓名和对应的英语成绩。
     21 SELECT NAME,English FROM student;
     22 
     23 -- 过滤表中英语成绩的重复数据
     24 SELECT DISTINCT English FROM student;
     25 
     26 -- 使用别名表示学生分数
     27 SELECT Chinese AS '语文',English AS '英语',Math '数学' FROM student;
     28 
     29 -- 查询姓名为李四的学生成绩
     30 SELECT * FROM student WHERE NAME = '李四';
     31 
     32 -- 查询英语成绩大于等于90分的同学
     33 SELECT * FROM student WHERE English > 90;
     34 
     35 -- 查询总分大于200分的所有同学
     36 SELECT *,(Chinese+English+Math) AS '总成绩' FROM student WHERE (Chinese+English+Math) > 200;
     37 
     38 -- 查询所有姓李的学生英语成绩。
     39 SELECT * FROM student WHERE NAME LIKE '李%';
     40 
     41 -- 查询英语>80或者总分>200的同学
     42 SELECT * FROM student WHERE English > 80 OR (Chinese+English+Math) > 200;
     43 
     44 -- 统计每个学生的总分。
     45 SELECT *,(Chinese+English+Math) AS '总成绩' FROM student;
     46 
     47 -- 在所有学生总分数上加10分特长分。
     48 SELECT * , (Chinese+English+Math) AS '总成绩', (Chinese+English+Math) + 10 AS '特长分' FROM student;
     49 
     50 
     51 
     52 
     53 -- 5.8 、聚合查询 (使用聚合函数的查询)
     54 -- 常用的聚合函数:和:sum() 平均:avg() 最大:max() 最小:min() 计数:count()
     55 -- count:统计的数量不包括null,所以使用它来统计记录书,要使用不包括null的字段
     56 
     57 
     58 -- 查询学生的Math的总成绩
     59 SELECT SUM(Math) FROM student;
     60 
     61 -- 查询学生的Math的平均分
     62 SELECT AVG(Math) FROM student;
     63 
     64 -- 查询Math的最高分
     65 SELECT MAX(Math) AS '最高分' FROM student;
     66 
     67 -- 统计当前学生的人数
     68 SELECT COUNT(*) FROM student; -- 统计每种数据的个数,取最大的
     69 SELECT COUNT(id) FROM student; -- 统计id的个数
     70 
     71 
     72 -- 5.9、分页查询(Limit 起始行,查询行数)
     73 -- 起始行是从0开始 (没有的记录不显示)
     74 -- 分页查询当前页的sql语句(SELECT * FROM student LIMIT (当前页-1)*每页显示的行数,每页显示的行数);
     75 
     76 -- 查询第1、2条记录
     77 SELECT * FROM student LIMIT 0,2;
     78 
     79 -- 查询第3、4条记录
     80 SELECT * FROM student LIMIT 2,2;
     81 
     82 -- 查询第5、6条记录
     83 SELECT * FROM student LIMIT 4,2;
     84 
     85 -- 查询第7、8条记录(没记录,不显示)
     86 -- SELECT * FROM student LIMIT 6,2;
     87 
     88 -- 上面这些可以看作是3页的数据
     89 
     90 
     91 -- 默认情况下,排序是按照插入记录的先后顺序
     92 -- 5.10、 查询排序(order by)
     93 -- 语法: order by 字段 asc/desc
     94 -- asc:正序 : 数字(递增) 字母(a-z)
     95 -- desc:反序 :反过来
     96 
     97 
     98 -- 按照id正序排序:
     99 SELECT * FROM student ORDER BY id ASC;
    100 -- 不写排序规则,默认正序
    101 SELECT * FROM student ORDER BY id ;
    102 
    103 -- 按照id倒序:
    104 SELECT * FROM student ORDER BY id DESC;
    105 
    106 -- 若相同,则按照插入顺序再排)
    107 SELECT * FROM student ORDER BY Chinese;
    108 
    109 -- 注意:当有多个排序条件(先按照第一个条件排序,再第二个)
    110 SELECT * FROM student ORDER BY Chinese , Math DESC;
    111 
    112 
    113 -- 5.11、分组查询(group by)
    114 
    115 -- 查询男女的人数
    116 -- 预期结果:
    117 --     男     3
    118 --     女     2
    119 -- 1)把学生按照性别分组
    120 SELECT sex FROM student GROUP BY sex;
    121 -- 2)统计每组的人数
    122 SELECT sex , COUNT(*) FROM student GROUP BY sex;
    123 
    124 -- 5.12、分组查询后进行筛选
    125 
    126 -- 查询总人数大于2的性别
    127 -- 1) 查询男女的人数
    128 SELECT sex,COUNT(*) FROM student GROUP BY sex;
    129 -- 2) 筛选出人数大于2的记录
    130 -- 分组之前的筛选用where 
    131 -- 分组以后再筛选用having
    132 SELECT sex , COUNT(*) FROM student GROUP BY sex HAVING COUNT(*)>2;
  • 相关阅读:
    【JAVA Swing】自定义弹出的无边提醒框(可自动消失)
    java比较器Comparator的简单使用
    BoneCP的简单使用
    鸿蒙的js开发部模式18:鸿蒙的文件上传到python服务器端
    【知识点前情提要】鸿蒙小白入门指南!跟着张荣超老师学鸿蒙
    分布式流转开发常见报错FAQ
    Ability之间或者进程间数据传递之对象(Sequenceable序列化)
    【资源下载】安卓VS鸿蒙第三方件切换宝典 V1.0
    鸿蒙开源第三方组件 ——B站开源弹幕库引擎的迁移(上)
    鸿蒙的js开发部模式17:鸿蒙的系统能力的应用模块
  • 原文地址:https://www.cnblogs.com/LZL-student/p/6002816.html
Copyright © 2020-2023  润新知