作业练习
1.插入信息
2 查询表中所有学生的姓名和英语成绩。
姓名
英语成绩
3 过滤表中重复数据。(去重的关键字 distinct) 无重复
4.统计每个学生的总分
5.在所有学生总分数上加10分特长分。
6.使用别名表示学生分数。
7.查询姓名为行哥的学生成绩
8.查询英语成绩大于90分的同学
9.查询总分大于200分的所有同学
10.查询英语分数在 80-90之间的同学。
11.查询数学分数为89,90,91的同学。
12.查询所有姓白的学生英语成绩。
13.查询数学分>80并且语文分>80的同学
14.查询英语>80或者总分>200的同学
15.对数学成绩升序排序
16. 16.对总分降序排序,然后再按数学从高到低的顺序输出
17.对姓白的学生成绩排序输出(排序规则自己定义)
18.查询数学成绩大于等于平均分的所有学生信息
19.查询出英语成绩最高分的学生信息
20.模糊查询出学生姓名中第二个字是金的学生信息
21.查询出英语成绩平均分是多少
22.查询出数学总分是多少
23.查询学生表中有多少条记录
今日总结
DQL(数据查询语言)语句
1.进行排序(单行/多行)
语法: select 字段名
from 表名
where 字段 = 值
order by 字段名(desc/asc) 降序/升序
2.聚合函数
max(列名) | 求某一列最大值 |
min(列名) | 求某一列最小值 |
avg(列名) | 求某一列平均值 |
count(列名) | 统计某一列记录 |
sum(列名) | 求某一列和 |
比如,求表名为 student 的表当中英语成绩的平均值
select
avg(英语) ' 英语成绩平均值'
from
student
统计函数
查询记录数
select
count(id) '总人数 '
from
student;
注意,查询 id 字段,如果为 null,则使用 0 代替
select ifnull(id,0) from student;
带条件查询
情况1:select 指定的字段名称 from 表名 where 条件 ;
where 后面可以使用 赋值运算符=, 比较运算符< ,<=, > ,>=, != <>不等于 (支持这个语法的)
- 需求:查询出年龄小于等于20岁的员工的姓名,年龄,性别以及总分成绩
SELECT
NAME '员工姓名',
age '年龄',
sex '性别',
(math+IFNULL(english,0)) '总分'
FROM
student
WHERE
age <= 20 ;
DQL 语句 支持逻辑符号,一般使用关键字
AND BETWEEN OR
IN( 值1 值2 值3 ) 等价于 值1 or 值2 or 值3
模糊查询(模糊搜索): 关键字 like
比如:模糊查询所有姓名中带马的学生所有信息
SELECT
*
FROM
student
WHERE
NAME
LIKE '%马%' ; 两个字的名字,如果第二个字带马,那么关键字为'_马'
查询包含n个字符的字段信息: 前边语句不变,name like '___'.