一.查询结果排序
Order by (默认排序方式’升序asc’,降序desc)
1) 单列排序
select * from 表名 order by 字段名 排序方式(asc/desc);
2) 多列排序
select * from 表名 order by 字段名1 排序方式(asc/desc), 字段名2 排序方式(asc/desc);
length(字段名)------可以算出字符串的长度
原则:依旧是从左至右,如果字段1的内容是相同的,则按字段名2的内容及方式排列
二.使用Limit限制查询结果的数量
Select * from 表名 limit 初始位置的下标,数量;
注意:
1)第一个数据位置的下标是0
2)初始位置的下标可以省略,且为0
- Limit 语法要求必须写在order by之后(默认没写时,是按插入顺序排序的)
注意:SELECT * from (select * from guestinfo LIMIT 5)t1 ORDER BY t1.guestIncome asc 这种情
况,括号里的是按照插入顺序排列后取前5条,这样形成了新的表,表名为t1 。然后在对这个新的表
进行排序
三.模糊查询
select * from 表名 where 字段名 like ‘模糊的内容及通配符’
注意:只有字符串类型的数据才能使用like和通配符通配符:
- %:匹配0到多个任意字符(可以写前,后,中)
例如: select * from 表名 where name like ’张%’(匹配出name字段所有开头为张的数据)
- :匹配一个任意字符,如果要两个就两个 _
例如: select * from 表名 where name like ’张_’(匹配出name字段张开头的两个字的数据)
- []:用于指定一个字符集合(注意前面的关键词是:rlike 或者regexp,日期类不适用)
例如:rLike ‘5[a,b,c]’ 可匹配出: 5a,5b,5c
rLike ‘5[abc]’ 可匹配出: 5abc
注意:,表示可选其中一个
rLike ‘5[a%]’ 可匹配出:5a%
rLike ‘5[a_]’ 可匹配出:5a_
注意:方括号内的%或者_都只是字符,不是通配符
rLike ‘[a-d]’ 可匹配出:a,b,c,d
rLike ‘[^a]’ 可匹配出:不为a的所有
四.条件运算符
- in == or
Select * from 表名 where 字段名 in(‘内容1’,’内容2’)
- between 包含小的值 and 包含大的值 == and
可以是数字和日期类型,取值包括边界值。
Select * from 表名 where 字段名 between ‘1970-01-01’ and ‘1980-10-10’;
注意:这类条件运算符与之前学的 or/and 优点是:当选择条件很多时,采用这类的运行效率更高