1. 符号说明
符号 | 说明 | 作用说明 |
---|---|---|
>、< | 大于、小于 | 和数学大小于一样 |
!=、<> | 不等于 | 两种都是不等于的写法 |
in(集合) | 表示在这个范围内 | 约束条件,表示在这个集合当中 |
like | 配合模糊查询 | Like语句中,% 代表零个或多个任意字符,_ 代表一个字符。 |
is null | 判断是否为null | |
and | 并且 | 逻辑运算 |
or | 或者 | 逻辑运算 |
not | 非 | 逻辑运算 |
2. 排序
排序所用的关键字是 order by,升序(asc)和降序(desc)。默认的排序是升序。
order by 出现的位置必须是select语句的结尾(最末尾)。
//XXX代表查询出来的记录。
XXX order by 字段1 asc/desc,字段2 asc/desc;
根据字段1进行排序,如果两者一样,就根据字段2再排序,以此类推。
3. 聚集函数
函数 | 作用 | 说明 |
---|---|---|
count() | 获取数量 | count(*)代表有多少条记录 |
sum() | 求和,会忽略null | 求()中参数的和 |
IFNULL(x,0) | 如果x为null,那么x就等于0 | |
avg() | 求平均值 | |
max() | 求最大值 | |
min() | 求最小值 |
注意:
4. 分组
group by XXX having 条件过滤;
group by 可以将查询结果按照属性列或者属性列组合在行的方向上进行分组,每组在属性或属性列组合上具有相同的值。
对于分组的结果,使用having来进行过滤,不能使用where来进行过滤。
注意:
having和where的区别?
1.where是在分组钱进行条件过滤,having实在分组后进行条件过滤。
2.使用where的地方都可以使用having替换,但是having可以使用分组函数,而where不可以用
于分组函数。
5. 小结
在不改变顺序的情况下,一般的查询语句的先后顺序为:
select ... from ... where ... group by... order by asc/desc;