(1)SQL基本查询
来源:互联网 发布:mac os 10.10 yosemite 编辑:程序博客网 时间:2024/06/06 00:21
该篇文章主要是对mysql的查漏补缺,该篇包括:
- 排序和限制
- 聚合
- 表联结
- 子查询与联合
排序和限制
使用关键字 order by
和limit
;
//排序select * from tablename [where condition] [order by field1 [desc/asc],field2 [desc/asc],...,fieldn [desc/asc]]
说明:
order by
后面可以跟多个不同的排序字段,并且每一个排序字段可以有不同的排序顺序;- 如果排序字段的值一样,则相同的字段按照第二个排序字段进行排序。
\\限制查询select ... [limit offset_start,row_count]
说明
- offset_start表示记录起始偏移值,row_count表示要查询的记录行数。默认offset_start=0,所以可以这么写(limit 100,即offset_start=0;row_count=100);
limit
经常与order by
一起使用进行记录的分页显示;limit
属于MySQL扩展SQL92的语法,在其他数据库上并不能通用。
聚合
使用关键字聚合函数(sum/count/max/min等)
、group by
、with rollup
、having
等。
select [field1,...,fieldn] fun_namefrom tablename[where where_condition][group by field1,...,field2 [with rollup]][having where_condition]
说明
- fun_name表示聚合函数,如sum(field)/count(1)/max(field)/min(field);
group by
表示要进行分类聚合的字段;with rollup
,表示对分类聚合的结果进行再汇总;having
表示对分类后的结果再进行条件过滤。
举例
# 在用户表上,统计各个部门的人数select department,count(1) from users group by department
结果
# 统计各个部门人数,又要统计总人数select department,count(1) from users group by department with rollup;
结果
# 统计人数大于5的部门select department,count(1) from users group by department having count(1)>5;
结果
表联结
使用关键词join
、left join
、right join
、on
等
select t1.feild1... from table1 t1 [left/right] join table2 t2 on t1.fieldn = t2.fieldm where where_condition
说明
- 表连接分为
内联结
和外联结
,他们之间主要区别:内联结仅选择两张表中互相匹配的记录,而外联结会包含其他不匹配的记录; - 外联结分为
左联结
和右联结
;左联结包含所有左边表中的记录甚至右边表中没有和它匹配的记录,右联结相反。
子查询与联合
使用关键字in/not in
、=/!=
、exists/not exists
、union
、union all
。
# 子查询形如select * from table1 where department in(select department from table2 where where_condition)#联合select * from table1union [all]select * from table2...union [all]select * from tablen;
说明
- 子查询可以转化为表联结;
- 表联结在很多情况下要优于子查询;
- union和union all的主要区别是union all 把结果集直接合并在一起,有可能有重复记录;union 是把union all的结果进行一次distinct,去除重复记录后的结果。
0 0
- (1)SQL基本查询
- SQL查询语言基本教程(1)
- SQL查询基本结构
- SQL基本查询语句
- SQL总结 基本查询
- SQL总结 基本查询
- SQL基本查询小结
- SQL基本查询语句
- SQL 基本查询语句
- SQL总结---基本查询
- SQL 基本数据查询
- SQL基本查询
- sql 最基本联合查询
- sql基本查询语言课件
- Oracle---基本sql语句查询
- sql基本查询语句练习
- SQL 基本查询语句操作
- day07—SQL基本查询
- ASP.NET MVC 中将FormCollection与Model实体间转换方法
- 在浏览器中输入Google.com并且按下回车之后发生了什么?
- Mongodb在Linux下的安装和启动和配置
- Spring AOP实现日志记录
- 【转载】IP地址的分类——a,b,c 类是如何划分的
- (1)SQL基本查询
- 实用的bash别名
- 多模式字符串匹配算法---ac算法
- Shell脚本递归删除空文件夹
- 怎么将ppt文件转换成pdf文件
- windows下安装solr-4.7.2
- linux popen 用法
- String to Integer (atoi)
- javaee学习之路(十二)上传与下载