数据库基础看我就够了⑥,数据库查询

tech2024-12-17  3

DQL

1,select 查询

--简单计算 select 1 + 2--查询当前系统时间 select now(); --查询当前用户 select user(); --查询数据库版本 select version();

2,from 查询

select 查询的字段列表 from 表,表1,表2...;

查询的字段列表,多个字段用逗号分隔,如果想查询所有字段,可以使用*来表示

3,where查询

关系查询

-- 查询 姓名是 张三的学生信息 select * from t_student where name = '张三' ; -- 查询 出生日期 大于等于 1995-03-01 的 所有学生姓名 select name from t_student where birth >= '1995-03-01' ; -- 查询 性别不是女生的 所有学生信息 select * from t_student where sex != '女' ; select * from t_student where sex <> '女' ;

逻辑查询

--查询姓名为张三且性别为男的学生信息 select * from t_student where name ="张三" and sex = "男"; --查询姓名张三或者出生日期是1990-05-01 的学生信息 select * from t_student where name = '张三' or birth ='1990-05-01'

区间查询

-- 查询 出生日期在 1995-01-01 ---- 2000-01-01 之间的所有学生信息 select * from t_student where birth between '1995-01-01' and '2000-01-01' ;

枚举查询

-- 查询 张三、李四、王五、赵六 的学生信息 select * from t_student where name in ('张三', '李四', '王五', '赵六') ;

模糊查询

-- 查询 姓张 的所有学生信息 select * from t_student where name like '张%' ; -- 查询 姓名中 包含 四 的学生信息 select * from t_student where name like '%四%' ; -- 查询 姓名 以 四 结尾的学生信息 select * from t_student where name like '%四' ; -- 查询 姓张 且名字长度为2 的学生信息 select * from t_student where name like '张_' ;

空值查询

-- 查询身份证号 为 空 的学生信息 select * from t_student where cardNo is null; -- 查询身份证号 不为空的学生信息 select * from t_student where cardNo is not null ;

分组查询

group by 分组一般和 聚合函数配置使用,完成数据的查询

常见的聚合函数有 :

count: 统计个数 max: 求最大值 min: 求最小值 sum: 求和 avg: 求平均值 空值不参与聚合

查询的列出现在 group by 的后面, 或者 出现在聚合函数中

-- 查询 班级中 男生、女生各有多少人 select sex , count(sex) from t_student group by sex ; -- 查询 男生、女生 年龄最大的 学生名字 select name from t_student t where exists ( select a.* from (select f.sex, min(f.birth) as minbirth from t_student f group by f.sex) a where t.sex = a.sex and t.birth = a.minbirth )

4,having语句

having 不能单独使用,必须配合 group by 完成对分组的结果进行筛选

where: 对数据库的记录进行筛选, where 比 having 先执行 having:对分组后的结果进行筛选, 能用where筛选数据的不要使用having筛选、、

--查询 同名、同性的所有学生名字 select name from t_student group by sex , name having count(1) > 1;

5,order by 排序

对查询的结果进行排序、执行顺序在 select 之后

ASC : 升序排列,默认值DESC: 降序排列 order by 排序字段 【排序规则】

6,limit 分页查询

limit [offset, ] rows offset : 偏移量,默认从0开始 rows : 每页显示的条数 page: 页码 offset = (page -1) * rows ;
最新回复(0)