虚拟结果集
即查询出来的结果,我们称之虚拟结果集,存放再内存里面,下次进来就没了
查询所有列
SELECT * FROM 表名;
结果集
- 数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端.
- 结果集:
- 通过查询语句查询出来的数据以表的形式展示,我们称这个表为虚拟结果集.存放再内存中
- 查询返回的结果集就是一张虚拟表
查询指定的列
SELECT 列名1,列名2 FROM 表名;
条件查询
- 条件查询就是在查询时给出WHERE子句,在WHERE子句中可以使用一些运算符以及关键字
- 条件查询运算符以及关键字
- BETWEEN...AND; 值在什么范围
- IN(set);
- IS NULL; (为空)
- IS NOT NULL; (不为空)
- AND; 与
- OR; 或
- NOT; 非
模糊查询
- 根据指定的关键字进行查询
- 使用LIKE关键字后跟通配符
- 通配符
- _ : 任意一个字母
- %: 任意0~n个字母
去除重复记录
SELECT DISTINCT 列名 FROM 表名;
把查询字段的结果进行运算,必须都要是数值型
SELECT *,字段1+字段2 FROM 表名;
-
列有很多记录的值为null,因为任何东西与NULL相加的结果还是NULL,所以结算结果可能会出现NULL,下面使用了把NULL转化成数值0的函数IFNULL:
SELECT *,age+IFNULL(score,0) FROM students;
对查询结果起别名
-
在上面的查询中出现列名为sx+IFNULL(yw,0),这很不美观,现在我们给这一列起一个别名,为total:
SELECT *,yw+IFNULL(sx,0) AS total FROM score; # 省略 AS SELECT *,yw+IFNULL(sx,0) total FROM score;
排序
- 关键字 ORDER BY
- 排序类型(默认是ASC))
- 升序ASC 从小到大
- 降序DESC 从大到小
SELECT * FROM 表名 ORDER BY 列名 DESC(一级别排序), 列名 DESC(二级别排序),...(n级别排序);