DQL语句
1. 条件查询
SELECT 字段名 FROM 表名 WHERE 条件
流程
取出表中每条数据,满足条件则返回,不满足则不返回。
1.1 条件
< > <= >= = <> !=
<> 、 !=两个都是不等于
1.2 逻辑运算符
AND(&&) OR(||) NOT(!)
IN关键字 " SELECT 字段名 FROM 表名 WHERE 字段 IN (数据1,数据2...)"
IN中的每个数据都作为一次判断条件
1.3范围
BETWEEN...AND...
"SELECT * FROM user WHERE age BETWEEN 80 AND 100 "相当于
"SELECT * FROM user WHERE age >=80 && age<=100 "
1.4模糊查询(like)
SELECT 字段名 FROM 表名 WHERE 字段 like'字符串通配符'
举例数据库::
%: 表示0个或多个字符(任意个字符)
_: 表示一个字符
- 举例:
SELECT * FROM user WHERE username like'_明' (查询到的是'明'在最后且'明'前只有一个字的结果)
- 举例:
SELECT * FROM user WHERE username like'%明%' (查询到的是'明'前有字或者没字,'明'后有字或没字的。即名字中含有'明'的都会被搜索到)
1.5排序
SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC(升序,默认即升序)|DESC(降序)];
通过 ORDER BY 子句,可以将查询出的结果进行排序
(排序只是显示方式,不会影响数据库中数据的顺序)
举例:
SELECT * FROM student ORDER BY age DESC;(即按age降序排列)
-
1.5.1组合排序
- 组合排序就是先按第一个字段进行排序,如果第一个字段相同,才按第二个字段进行排序,依次类推。
举例:
SELECT * FROM student3 ORDER BY age DESC, math DESC;
1.6聚合函数
- 聚合函数查询是纵向查询,它是对 一列的值进行计算,然后返回一个结果值。
聚合函数会忽略空值
1.count统计指定列记录数,记录为NULL的不统
2.sum计算指定列的数值和,如果不是数值类 型,那么计算结果为0
3.max计算指定列的最大值
4.min计算指定列的最小值
5.avg计算指定列的平均值,如果 不是数值类型,那么计算结果为0
SQL语句 SELECT 后 字段名的地方 例如:SELECT COUNT(age) FROM 表名;
SELECT COUNT(*) FROM student3;(返回了记录数8)
SELECT AVG(math) FROM student3;(math列的平均数)
1.7分组
- 分组查询是指使用 GROUP BY 语句对查询信息进行分组,相同数据作为一组
select 字段名x,count(*) from TABLE_NAME group by 字段名x
select 字段名x,字段名y from TABLE_NAME group by 字段名x ,字段名
暂时就这,以后再更新吧