今日内容
1.基本查询语句
算术运算符:+ - * / %
比较运算符:= > < >= <= <> !=
数据库特有的比较:in,not in, is null,is not null,like, between and
逻辑运算符:and or not
like: 支持特殊符号%和_ ; 其中 %表示任意数量的任意字符,_表示任意一位字符。
1.where基本查询
1.查询年龄不等于18岁的所有用户信息
– 2.查询班级为python的所有用户信息
SELECT * FROM user WHERE class=‘python’;
– 3.查询年龄大于16岁的所有用户信息
SELECT * FROM user WHERE age>18;
– 4.查询年龄在18到24岁之间的所有用户信息 包含18和24岁
SELECT * FROM user WHERE age>=18 AND age<=24;
SELECT * FROM user WHERE age BETWEEN 18 and 24;
– 5.查询年龄不在18到24之间的所有用户信息
SELECT * from user WHERE age<18 or age>24;
– 6.查询id值是1,3,4,6的所有用户信息
SELECT * FROM user WHERE id=1 OR id=3 or id=4 or id=6;
SELECT * FROM user WHERE id in (1,3,4,6);
– 7.查询python班和web班级的所有女生信息
SELECT * FROM user WHERE gender=0 and (class=‘python’ OR class=‘web’);
– 模糊查询
– 1.查询名字以‘盖’开头的用户信息
SELECT * FROM user WHERE name LIKE ‘盖%’;
– 2.查询emial中包含g的所有用户信息
SELECT * FROM user WHERE email LIKE ‘%g%’;
– 3.查询姓名是两个字的用户信息
SELECT * FROM user WHERE name LIKE ‘__’;
– 4.查询姓名以大开头并且是两个字的用户信息
SELECT * FROM user WHERE name LIKE ‘大_’;
3.聚合函数:
很少单独去使用,一般配合分组查询去使用 主要做数据的统计
一般在select 后面使用 不能在where后面使用 可以在having后面使用
Max() min() count() avg() sum()
– 1.统计当前表中一共有多少条数据
SELECT count() FROM user;
– 2.查询python班级最大年龄最小年龄以及平均年龄
SELECT max(age),min(age),avg(age) FROM user WHERE class=‘python’;
– 3.统计男生的数量
SELECT count() FROM user WHERE gender=‘1’;
4.去除重复的数据:distinct
去重
– 1.查询所有的班级
SELECT DISTINCT class FROM user;
– 2.查询不重复的班级和性别
SELECT DISTINCT class,gender FROM user;
4.分组group by
group by 分组查询
– 1.查询表中有哪些班级
SELECT class FROM user GROUP BY class;
– 2.统计当前表中男生和女生的人数个多少人
SELECT gender,count() FROM user GROUP BY gender;
– 3.统计每个班级的人数
SELECT class,count() FROM user GROUP BY class;
– 4.统计每个班,男生和女生个多少人
SELECT class,gender,count(*) FROM user GROUP BY class,gender;
Having 子句查询
1.统计每个班级的人数,并查询出班级人数大于2的班级
SELECT class,count() FROM user GROUP BY class HAVING count()>2;
– 2.查询每个班级男生人数大于2的班级
SELECT class,gender,count() FROM user GROUP BY class,gender HAVING gender=‘1’ and count()>2;
SELECT class,count() FROM user WHERE gender=‘1’ GROUP BY class HAVING count()>2;
6.排序:order by
默认升序排序asc 可以省略不写
Desc降序排序
– 1.查询所有学员信息 并按照年龄进行降序排序
SELECT * FROM user ORDER by age DESC;
– 2.查询班级为python的男生信息 并按照年龄进行降序排序
SELECT * FROM user WHERE class=‘ui’ AND gender=‘1’ ORDER BY age DESC;
7.Limit分页
1.查询前五条数据
SELECT * FROM user LIMIT 10;
– 2.按照3条数据为一页,取第一页数据
SELECT * FROM user LIMIT 0,3;
– 取第二页数据
SELECT * FROM user LIMIT 3,3;
– 取第三页数据
SELECT * FROM user LIMIT 6,3;
– 取第五页数据 (1-1)*3 (2-1)*3 (3-1)*3 (4-1)*3
SELECT * FROM user LIMIT 12,3;
2.查询语句的数据流
练习:
– 1.获取ui班级年龄最大的2个学生
SELECT * FROM user WHERE class=‘ui’ ORDER BY age DESC LIMIT 2;
– 2.获取每个班级的平均年龄,并按照平均年龄进行降序排序
SELECT class,avg(age) FROM user GROUP BY class ORDER BY avg(age) DESC;
– 3.统计每个班级的人数 获取人数最多的两个班级
SELECT class,count() FROM user GROUP BY class ORDER by count() DESC LIMIT 2;
本文详细介绍了SQL查询语句的基础用法,包括WHERE子句、模糊查询、聚合函数、DISTINCT去除重复数据、GROUP BY分组、HAVING子句、ORDER BY排序和LIMIT分页。通过实例展示了各种查询操作,如按条件筛选、统计分析、数据分组和排序等。
11万+

被折叠的 条评论
为什么被折叠?



