一、写在前面
1.前缘:前几天由于业务需要,需要自己查一查sql。大学时结果不对再改改的套路行不通了,数据量太大,随便一查就是20分钟。多查了几次,我都怕大数据找过来,让不要浪费公司资源。于此决定把放弃的sql再捡起来。
2.环境:找到一个在线sql https://www.liaoxuefeng.com/wiki/1177760294764384/1179611432985088 的网址,可以跳过环境搭建。
二、入门使用
1.基本语法
1)SELECT:查询表里面的哪些数据,查分数还是查性别
2)FROM:指定数据来源
3)where:限制条件,是要查分数高于80的,还是收入低于20000的
示例,查询某个学生信息:
SELECT * FROM students
where name ='小白'
4)group by:分组,相当于把结果分为多列,比如计算每个班的平均分,需要group班级id
示例,查询某个每个班的男生:(没有group就变成了统计所有学生数量)
SELECT COUNT(*) studentNum,class_id
FROM students
group by class_id
5)ORDER BY:排序,ORDER BY xxx DESC 为倒叙
示例,查询某个每个班的男生:
SELECT COUNT(*) studentNum,class_id
FROM students
group by class_id
ORDER BY class_id DESC
6)count:计数,算一下男生人数。SUM、AVG、MAX、MIN:用法和count类似。
示例,查询某个每个班有多少学生:
SELECT COUNT(*) studentNum,class_id
FROM students
group by class_id
7)distinct:结合count使用,相同数据只计算一次,count(distinct class_id)。
示例,最高分大于九十的有几个班:
SELECT count(distinct class_id)
FROM students
WHERE score >= 90