目录
表的增删改查
CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)
create(创建)
单行数据 + 全列插入
多行数据 + 指定列插入
插入否则更新
替换
retrieve(读取)
SELECT 列
全列查询
指定列查询
查询字段为表达式
为查询结果指定别名
结果去重
WHERE 条件
-
比较运算符:
-
逻辑运算符:
英语不及格的同学及英语成绩 ( < 60 )(<)
语文成绩在 [80, 90] 分的同学及语文成绩(and , between … and…)
数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩(or, in)
姓孙的同学 及 孙某同学(%, like)
语文成绩好于英语成绩的同学(where)
总分在 200 分以下的同学(where)
语文成绩 > 80 并且不姓孙的同学(and,not)
孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80(综合)
NULL 的查询
结果排序
同学及数学成绩,按数学成绩升序显示
同学及 qq 号,按 qq 号排序显示
查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示
查询同学及总分,由高到低
查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示
筛选分页结果
update(更新)
将孙悟空同学的数学成绩变更为 80 分
将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
将所有同学的语文成绩更新为原来的 2 倍
delete(删除)
删除孙悟空同学的考试成绩
删除整张表数据
截断表
插入查询结果
聚合函数
统计班级共有多少同学
统计班级收集的 qq 号有多少
统计本次考试的数学成绩分数个数
统计数学成绩总分
统计平均总分
返回英语最高分
返回 > 70 分以上的数学最低分
group by子句的使用
- group by是通过分组这样的手段,为未来进行聚合统计提供基本的功能支持(group by一定是配合聚合统计使用的)
- groupby后面跟的都是分组的字段依据,只有在group by后面出现的字段,未来在聚合统计的时候,在select中才能出现.
- where VS having: 他们两个不是冲突的,是互相补充的
- having通常: 是在完成整个分组聚合统计,然后再进行筛选
- where通常: 是在表中数据初步被筛选的时候,要起效果的
顺序
SQL查询中各个关键字的执行先后顺序 from > on> join > where > group by > with > having > select > distinct > order by > limit