MYSQL- DQL

DQL
排序查询
… order by keyword ASC/DESC
如果升 / 降序不写,默认升序
聚合函数
将一列作为一个整体,做纵向计算
会排除 null 值
解决:使用 IFNULL () 函数或选择非空列
count 计算个数
SELECT COUNT(english) FROM stu 或 SELECT COUNT(IFNULL(english, 0)) FROM stu 空设为 0
max, min, sum, avg 使用方法同 COUNT
分组查询
group by 分组字段
根据分组字段来查询数据,如根据性别分组,那么男女就被分为两组。
两种限定条件的语法:where … 或 having …
区别:
where 在分组前限定,不满足条件不参与分组;having 在分组后限定,如果不满足分组不会被查询
where 后不可使用聚合函数判断,having 则可以。
分页查询
limit 数据开始索引, 查询条数
select * from stu limit 0, 3; 从 0 开始查,查三条记录
基础查询
SELECT col1, col2, … colN FROM t_table;
去除重复数据:使用 DISTINCT 关键字
SELECT DISTINCT col1 FROM t_table;
查询某两列之和:
SELECT name, (math + english) FROM t_table
如果有一列数据是 null,运算结果为 null
为某一列起别名:使用 AS 关键字
SELECT name, (math + english) AS total FROM t_table
条件查询
where
运算符 >, <, =,>=, !=, <>, and/&&, or/||, not/|
BETWEEN … AND
… BETWEEN 20 AND 30;
IN
… WHERE age IN (22, 18, 25);
IS / IS NOT: 判断是否是 NULL
… IS NULL
模糊查询
LIKE
_ 下划线:单个任意字符
% 百分号:多个任意字符
查询含有某个字符的数据:
… WHERE name LIKE ‘%马%’; // 查询含有马的名字

你可能感兴趣的:(数据库,java,数据库,mysql,sql)