小贝_mysql select5种子句介绍
mysql select5种子句介绍
简要
一、五种字句
二、具体解释五种字句
一、五种字句
where、group by、having、order by、limit
二、具体解释五种字句
2.1、理解where子句
理解select 列1。列2… fromtable where where子句
a、 把where子句看成表达式。到table中查询满足表达式成立的行
b、 上述查询语句的运行顺序。先找到表table后。再运行where子句。满足表达式后进行展示。
c、比較运算符和逻辑运算符
2.2、groupby
2.2.1、理解分组作用,适用于统计
2.2.2、与聚合函数一起适用。
max(列)。min(列)。avg(),sum(),count()
2.2.3、依照分组后。仅仅能得到每一个分组的第一条数据
2.2.4、案例 table表以及数据例如以下:
typeid
name
price
1
A1
10
2
B1
11
1
A2
12
2
B2
22
具体解释1: select typeid,max(price) from table group by typeid
2.2.4.1、从table表中,依照typeid进行分组得到
typeid为1的数据
typeid
name
price
1
A1
10
1
A2
12
typeid为2的数据
typeid
name
price
2
B1
11
2
B2
22
2.2.4.2、从分组得到的数据中,依照聚合函数获取各个分组特定列的值
typeid
price
1
12
2
22
具体解释2: select typeid, name,max(price) from table group by typeid
依照具体解释1的运行流程得到结果
typeid
name
price
1
A1
12
2
B1
22
备注: 在对照数据是否正确时,发现name有误。
由于price最大值为12时。name为A2而不是A1。
这是由于。在分组得到的结果中,利用聚合函数max进行比較获取最大值时,是从第一行往下比較,第一行的name为A1,往下进行比較替换的仅仅是price值。
因此。name仍然为第一行所得到的值。
2.3、having
having与where异同点:
1、having与where类似,可筛选数据;where后的表达式怎么写,having就怎么写
2、where针对表中的列发挥作用,查询数据。having针对查询结果中的列发挥作用,筛选数据
案例: 查找两门及两门以上不及格的同学的平均分
selectname,avg(score),sum(score<60) as s from stu group by name having s>=2;
2.4、orderby 与limit
1、order by 排序功能: 依照一个或多个字段对查询结果进行升序or降序排序.默认是升序
语法: select 字段1,字段2from table order by 字段1 [asc|desc]
2、limit 对查询结果取相应的条数
语法: select 字段1,字段2from table limit offset,n
(当中,0<=offset<总结果条数。n>0. offset为偏移量,n是指在offset的位置上取n条数据)
2.5、总结
1、语法顺序:
select 字段1,字段2….. from table where子句 group by 字段 having 子句 order by 字段 [asc|desc] limit n,m;
2、运行顺序
2.1、from table 找到源数据
2.2、where子句,把其看成一个表达式。在2.1的基础上一行一行推断表达式是否成立
2.3、group by 在2.2的基础上,对字段进行分组,得到查询结果
2.4、having 在2.3的基础上。对查询结果也是进行一行一行推断表达式是否成立。
2.5、order by 在2.4的基础上。对查询结果进行排序
2.6、limit 在2.5的基础上,取相应条数
2.7、select 在2.6的基础上。对结果进行展示
The quieter you become,the more you are able to hear。
小贝_mysql select5种子句介绍的更多相关文章
- select 5种子句介绍
一.Where 条件查询 ①where expression 用法:expression为真,则该行取出 运用场合 各种条件查询场合,如按学号查学生,按价格查商品,按发布时间查新闻等 ②select ...
- 小贝_mysql优化学习
mysql优化 简要: 1.数据库设计优化 2.sql语句优化 3.表切割 4.读写分离技术 一.数据库设计优化 1.表设计要符合三范式.当然,有时也须要适当的逆范式 2.什么是三范式 一范式: 具有 ...
- 小贝_mysql建表以及列属性
mysql建表以及列属性 简要: 一.建表原则 二.具体的列属性说明 一.建表原则 建表: 事实上就是声明列的过程,数据终于是以文件的形式放在硬盘(内存) 列: 不同的列类型占的空间不一样. 选列的原 ...
- 小贝_mysql 触发器使用
触发器 简要 1.触发器基本概念 2.触发器语法及实战样例 3.before和after差别 一.触发器基本概念 1.一触即发 2.作用: 监视某种情况并触发某种操作 3.观察场景 一个电子商城: 商 ...
- 小贝_mysql select连接查询
select连接查询 简要: 一.union联合查询 二.左右内连接 一.union联合查询 作用: 把2次或多次查询结果合并起来 具体: (表1查询结果) union (表2查询结果) 运行: 先算 ...
- 小贝_mysql主从复制作用以及案例
mysql主从复制 简要: 一.mysql用户授权 二.mysql bin-log日志 三.mysql主从复制 一.mysql用户授权 1.命令 2.作用:进行权限控制 3.样例: (备注: 同意 ...
- 小贝_mysql数据库备份与恢复
mysql数据库备份与恢复 简要: 一.数据库备份 二.数据库恢复 一.数据库备份 1.备份简单说明 : 系统执行中,增量备份与总体备份 例: 每周日总体备份一次,周一到周 ...
- 小贝_mysql 存储过程
存储过程 简要: 1.什么是存储过程 2.使用存储过程 一.存储过程 概念类似于函数,就是把一段代码封装起来.当要行这段代码的时候,能够通过调用该存储过程来实现.在封装的语句体里面.能够用if/els ...
- 小贝_mysql sql语句优化过程
sql语句优化 一.SQL优化的一般步骤 (1).通过show status命令了解各种SQL的运行频率. (2).定位运行效率较低的SQL语句-(重点select) (3).通过explain分析低 ...
随机推荐
- Maven下Flex国际化配置
之前写了flashbulid.initellij下的flex国际化配置,它们都是在本地打包发布的,那么我们的工程用maven管理了,需要自动发布.这时候如何修改flex的pom文件,来让它build的 ...
- Struts2SpringHibernate整合示例,一个HelloWorld版的在线书店(项目源码+详尽注释+单元测试)
Struts2,Spring,Hibernate是Java Web开发中最为常见的3种框架,掌握这3种框架是每个Java Web开发人员的基本功. 然而,很多初学者在集成这3个框架的时候,总是会遇到各 ...
- 5kcrm增加权限管理中的模块(签到统计)
1 首先在model表增加模块名称 2 在controll里增加方法 3 在授权的html增加表单
- 5.3.5 namedtuple() 创建命名字段的元组结构
在命名元组里.给每一个元组的位置加入一个名称,而且能够通过名称来訪问.大大地提高可读性,以便写出清晰代码,提高代码的维护性.事实上它就像C++里的结构体. collections.namedtuple ...
- git batch
git batch 不用每次自己写了:不是特别推荐哦: git add . git commit -m "commit" git push git status
- 阿里云server部署架构
近期要上马一个项目,客户要求所有部署到阿里云的server,做了一个阿里云的部署方案. 上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21hbGx ...
- Hadoop 2.2.0和HBase-0.98 安装snappy
1.安装须要的依赖包及软件 须要安装的依赖包有: gcc.c++. autoconf.automake.libtool 须要安装的配套软件有: Java6.Maven 关于上面的依赖包,假设在ubun ...
- 少年 DXH
少年 DXH 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 大家都知道,DXH 幼时性格怪癖,小朋友都不喜欢和他玩,这样的情况一直到 DXH 的少年时期也没有改变. ...
- MongoDB基本概念和安装配置
基本概念 MongoDB直接存储JSON. 有了NoSQL数据库之后,可以直接在业务层将数据按照指定的结构进行存储. NO SQL NoSQL 1 数据库 数据库 2 表 集合 3 行 文档 4 列 ...
- Another app is currently holding the yum lock; waiting for it to exit…
yum被锁定无法使用,错误信息截图如下:解决方法:rm -rf /var/run/yum.pid 来强行解除锁定,然后你的yum就可以运行了