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种子句介绍的更多相关文章

  1. select 5种子句介绍

    一.Where 条件查询 ①where expression 用法:expression为真,则该行取出 运用场合 各种条件查询场合,如按学号查学生,按价格查商品,按发布时间查新闻等 ②select ...

  2. 小贝_mysql优化学习

    mysql优化 简要: 1.数据库设计优化 2.sql语句优化 3.表切割 4.读写分离技术 一.数据库设计优化 1.表设计要符合三范式.当然,有时也须要适当的逆范式 2.什么是三范式 一范式: 具有 ...

  3. 小贝_mysql建表以及列属性

    mysql建表以及列属性 简要: 一.建表原则 二.具体的列属性说明 一.建表原则 建表: 事实上就是声明列的过程,数据终于是以文件的形式放在硬盘(内存) 列: 不同的列类型占的空间不一样. 选列的原 ...

  4. 小贝_mysql 触发器使用

    触发器 简要 1.触发器基本概念 2.触发器语法及实战样例 3.before和after差别 一.触发器基本概念 1.一触即发 2.作用: 监视某种情况并触发某种操作 3.观察场景 一个电子商城: 商 ...

  5. 小贝_mysql select连接查询

    select连接查询 简要: 一.union联合查询 二.左右内连接 一.union联合查询 作用: 把2次或多次查询结果合并起来 具体: (表1查询结果) union (表2查询结果) 运行: 先算 ...

  6. 小贝_mysql主从复制作用以及案例

    mysql主从复制 简要: 一.mysql用户授权 二.mysql bin-log日志 三.mysql主从复制   一.mysql用户授权 1.命令 2.作用:进行权限控制 3.样例: (备注: 同意 ...

  7. 小贝_mysql数据库备份与恢复

    mysql数据库备份与恢复 简要:        一.数据库备份        二.数据库恢复 一.数据库备份 1.备份简单说明 : 系统执行中,增量备份与总体备份 例: 每周日总体备份一次,周一到周 ...

  8. 小贝_mysql 存储过程

    存储过程 简要: 1.什么是存储过程 2.使用存储过程 一.存储过程 概念类似于函数,就是把一段代码封装起来.当要行这段代码的时候,能够通过调用该存储过程来实现.在封装的语句体里面.能够用if/els ...

  9. 小贝_mysql sql语句优化过程

    sql语句优化 一.SQL优化的一般步骤 (1).通过show status命令了解各种SQL的运行频率. (2).定位运行效率较低的SQL语句-(重点select) (3).通过explain分析低 ...

随机推荐

  1. Nginx Zabbix

    https://www.cnblogs.com/wangxiaoqiangs/archive/2016/04/20/5412111.html

  2. Jquery-select元素操作方法

    jQuery获取Select元素,并选择的Text和Value: $("#select_id").change(function(){//code...}); //为Select添 ...

  3. COGS——T 1175. [顾研NOIP] 旅游电车

    http://www.cogs.pro/cogs/problem/problem.php?pid=1175 ★★☆   输入文件:buss.in   输出文件:buss.out   简单对比时间限制: ...

  4. 洛谷 P3507 [POI2010]GRA-The Minima Game

    P3507 [POI2010]GRA-The Minima Game 题目描述 Alice and Bob learned the minima game, which they like very ...

  5. 极路由4pro交叉编译c、c++的代码

    首先在官方文档中下载SDK 极路由4pro是mtmips架构,即32位mips,小端的,因此下载这个 防止官方的下载链接失效,特意上传到百度网盘: 链接:https://pan.baidu.com/s ...

  6. dubbo标签

    <dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心. <dubbo:reference/&g ...

  7. WPF错误:必须使“Property”具有非 null 值。

    这个问题一般出如今Triggers中Property指定的类型为Nullable. 解决的方法就是用DataTrigger取代Trigger, 然后用Binding+Converter转换为详细非Nu ...

  8. scikit-learn:3.5. Validation curves: plotting scores to evaluate models

    參考:http://scikit-learn.org/stable/modules/learning_curve.html estimator's generalization error can b ...

  9. c++:数据类型的推断type_traits

    //推断左值右值引用 void main() { int i(10);//i是左值 有内存实体 int &ri(i); int &&rri(i + 5);//右值引用 cout ...

  10. python中各项目文件含义(新手可看)

    其他不用多说,这里主要阐述三个概念,包.模块.类 包我们可以看作一个包含__init__.py 和一系列.py 文件的文件夹,包含__init__.py这样做的目的是为了区别包和普通字符串,读者可以试 ...