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. async、await 优缺点

    async.await 优缺点 async 和 await 相比直接使用 Promise 来说,优势在于处理 then 的调用链,能够更清晰准确的写出代码.缺点在于滥用 await 可能会导致性能问题 ...

  2. Tomcat样例安全漏洞

    [漏洞描述] Tomcat在使用的时候一般都直接官网下载源代码包直接使用. 默认情况下,Tomcat源码包里面包含了   examples   这个目录,这个目录主要实现一些样例页面的访问. 比如: ...

  3. 搭建一套Java开发环境以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载JDK. https://www.oracle.com/tech ...

  4. cocos2d-js 热更新具体解释(一)

    本文将会具体解说cocos2d-js下的热更新机制.这篇内容先给大家介绍一下两个manifest文件就当热身了. 首先介绍project.manifest:  举个样例 { "package ...

  5. 如何获取Assets的路径

    有两种方法可以获取assets的绝对路径: 第一种方法: String path = file:///android_asset/文件名; 第二种方法: InputStream abpath = ge ...

  6. linux 下的文件搜索、可执行文件搜索

    1. whereis 与 which 速度快,只是模糊查询,例如查询 $ whereis mysql,则会将mysql, mysql.ini, mysql*所在的目录都找出来: whereis 查看的 ...

  7. 21.boost Ford最短路径算法(效率低)

    到某个节点最近距离                  最短路径当前节点的父节点 完整代码 #include <iostream> #include <string> #incl ...

  8. BZOJ 2045 容斥原理

    思路: 同BZOJ 2005 http://blog.csdn.net/qq_31785871/article/details/54314774 //By SiriusRen #include < ...

  9. utf8 string

    https://github.com/BassLC/idUTF8lib Idiot's UTF-8 Library A very (too much really) simple Utf8 libra ...

  10. 【原创】rman 全库备份脚本

    rman 全库备份脚本 run { allocate channel d1 type disk; allocate channel d2 type disk; backup full database ...