navicat操作数据库 数据查询功能
1.select语句
SELECT * FROM <表名>;
1.1.通配符的使用:
通配符 * :查询所有的列等等
通配符 _ :匹配一个字符
通配符 %:匹配任意长度的字符,包括空字符串
1.2.查询关键字
1.2.1 关键字 distinct的用法 除去数据重复的值
SELECT DISTINCT [字段名] FROM <表名>
1.2.2关键字 like的用法 like与通配符配合使用
SELECT [字段名1,字段名2,…] FROM <表名> WHERE [字段名] [ NOT ] LIKE ‘匹配字符串’
2.子查询
常用的子查询语句有五种:
- 条件查询(where子句):按照“条件表达式”指定的条件进行查询。
- 分组查询(group by子句):按照“属性名”指定的字段进行分组。group by子句通常和count()、sum()等聚合函数一起使用。
- 筛选查询(having子句):有group by才能having子句,只有满足“条件表达式”中指定的条件的才能够输出。
- 排序查询(order by子句):按照“属性名”指定的字段进行排序。排序方式由“asc”和“desc”两个参数指出,默认是按照“asc”来排序,即升序。
- 限制查询(limit):限制结果集。
2.1条件查询(where子句)
where子句常与运算符配合使用
2.2分组查询(group by子句)
分组将一个区域划分成多个小区域,对多个小区域进行数据处理
select 类别, sum(数量) as 数量之和
from A
group by 类别
2.3筛选查询(having子句) 针对“组”里面条件进行筛选
having一般跟在group by之后,执行记录组选择的一部分来工作的。where则是执行所有数据来工作的。
再者having可以用聚合函数,如having sum(qty)>1000。
2.4排序查询(order by子句)
- order by <列名> # 默认升序排列
- order by <列名> desc # 降序排列
- order by <列名> asc # 升序排列
- order by rand() # 随机排列
2.5限制查询(limit子句)
在查询语句中,我们想要只返回前面几行数据
limit [offset] N