数据表查询(重点)
普通查询
--select * from 表名;----查询全部字段的记录
--select field as 别名 from 表名;-----给字段起别名,也可以给表名起别名
--select 表名.field from 表名;-----可以通过表名.字段的方式查看字段的记录
条件查询
where后面支持多种运算符:比较运算符、逻辑运算符、模糊查询、范围查询、空判断。
--比较:< > = !=
--逻辑:and or not
--模糊
--like:%-替代0、1或多个,_替代一个
--rlike:正则匹配查找,匹配的是varchar类型的字节即
--范围
--in not in
--between and not between and
--判断
--is null
--is not null
优先级:
优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用
排序
--order by 字段 asc/desc[, 字段 asc/desc]
--asc 从小到大排列,升序
--desc 从大到小排列,降序
聚合函数
count, sum, max, min, avg, round
分组
group by用于单个字段分组,也可用于多个字段分组,按照指定的字段进行分组。
group_concat()/聚合函数可以与group by 组合使用。
having 条件表达式:用来分组查询后指定一些条件来输出查询结果
说明:group by后面只能使用having条件语句。
分页
select * from 表名 limit start,count
start—指的是起始位置数据的下标。
链接查询
内连接查询:查询的结果为两个表匹配到的数据
左连接查询:查询的结果为两个表匹配到的数据,左表特有的数据,对于右表中不存在的数据使用null填充
右连接查询:查询的结果为两个表匹配到的数据,右表特有的数据,对于左表中不存在的数据使用null填充
语法:select * from 表1 inner或left或right join 表2 on 表1.列 = 表2.列
子查询
在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句
查询的结果可以作为另一个查询的条件