小贝_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分析低 ...
随机推荐
- 将Oracle中的数据放入elasticsearch
package com.c4c.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Res ...
- 集合接口list与集合接口set的区别
在Java中 除了 Map以外的集合的根接口都是Collection接口,而在Collection接口的子接口中,最重要的莫过于List和Set集合接口. 今天我们就来谈谈List集合接口与Set集合 ...
- Linux Mint 17.1 安装全配置
Linux Mint 17.1 安装全配置 I. 前言 由于自己的本子出现了一些故障需要重新安装系统,就上网看看今年4,5月份发布的一些新的发行版来试试.原先电脑上安装的是opensuse13.2, ...
- 创业笔记-Node.js入门之JavaScript与Node.js
JavaScript与Node.js JavaScript与你 抛开技术,我们先来聊聊你以及你和JavaScript的关系.本章的主要目的是想让你看看,对你而言是否有必要继续阅读后续章节的内容. 如果 ...
- HDU 2512
水题 #include <iostream> #include <cstdio> #include <algorithm> #define LL __int64 # ...
- 一起talk C栗子吧(第一百一十二回:C语言实例--线程同步概述)
各位看官们,大家好.上一回中咱们说的是线程间通信的样例,这一回咱们说的样例是:线程同步.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,提到同步.我想大家都不陌生,由于我们在前面章回中介绍 ...
- [CSS3] Create Dynamic Styles with CSS Variables
In this lesson we are going to use CSS variables to keep our application's colors consistent. This i ...
- Yocto tips (19): Yocto SDK Toolchian的使用
在使用之前须要先source env,导入各种环境变量(注意将路径变更成你自己的): source ../qt5_sdk/environment-setup-cortexa9hf-vfp-neon-p ...
- ubuntu 休眠之后蓝牙鼠标无效果。
ubuntu链接蓝牙鼠标之后.左上角蓝牙标志左下角应该有一个锁的标志. 可是休眠之后,蓝牙鼠标失效,锁没有了,点击按键,出来锁之后,立即消失. 运行两次例如以下命令能够解决: sudo hciconf ...
- linux 数据库
查看数据库状态:service mysqld status 启动数据库服务 service mysql start 如果出现:Another MySQL daemon already running ...