MySQL基础(三)--数据库的基础查询

普通查询

记录查询

SELECT * FROM 表名;
SELECT 列1,列2,列3 FROM 表名;

SELECT语句屏蔽了物理层的操作,用户不必关心数据的真实存储,交由数据库高效的查找数据。

使用列别名
SELECT id, sal*12 AS “income” FROM t_emp;

查询语句的子句执行顺序
MySQL基础(三)--数据库的基础查询

数据分页

SELECT … FROM … LIMIT 起始位置,偏移量;

如果LIMIT子句只有一个参数,它表示的是偏移量,起始值默认为0。

执行顺序
FROM -> SELECT -> LIMIT

排序

SELECT … FROM … ORDER BY 列名 [ACS|DESC];

ASC代表升序(默认), DESC代表降序

如果排序列是数字类型,数据库就按照数字大小排序,如果是日期类型就按照日期大小排序,如果是字符串就按照字符集序号排序。

多个排序字段
我们可以使用ORDER BY规定首要排序条件和次要排序条件。数据库会先按照首要排序条件排序,如果遇到首要排序内容相同的记录,那么就会启动次要排序条件接着排序。
SELECT … FROM … ORDER BY 列名1 ACS,列2 DESC;

执行顺序
FROM -> SELECT -> ORDER BY -> LIMIT

去除重复记录

SELECT DISTINCT job FROM t_emp;

使用DISTINCT的SELECT子句中只能查询一列数据,如果查询多列,去除重复记录就会失效。

DISTINCT关键字只能在SELECT子句中使用一次。

条件查询

MySQL基础(三)--数据库的基础查询

四类运算符

算术运算符:
MySQL基础(三)--数据库的基础查询
注:
数字和null加减乘除运算结果还是null。
IFNULL(字段, 0)//mysql函数,字段为空时用0来代替。
DATEDIFF(time1, time2)//计算两个日期相差的天数
NOW()//获取当前日期

比较运算符:
MySQL基础(三)--数据库的基础查询
MySQL基础(三)--数据库的基础查询
注:
在LIKE表达式里%表示多个字符,_表示单个字符。

逻辑运算符:
MySQL基础(三)--数据库的基础查询
按位运算符:
MySQL基础(三)--数据库的基础查询

WHERE子句的注意事项

WHERE子句中,条件执行的顺序是从左到右的。所以我们应该把索引条件,或者筛选掉记录最多的条件写在最左侧。

执行顺序
FROM -> WHERE -> SELECT -> ORDER BY -> LIMIT

上一篇:SQL.2 (如何查找第N高的数据?)


下一篇:jdk8 stream list分割 切割 分批次处理工具类