MySQL中USING 和 HAVING 用法实例简析

本文实例讲述了MySQL中USING 和 HAVING 用法。分享给大家供大家参考,具体如下:

USING

用于表连接时给定连接条件(可以理解为简写形式),如

SELECT * FROM table1
JOIN table2 ON table1.id = table2.id

使用 USING 可以写为

SELECT * FROM table1
JOIN table2 USING(id)

HAVING

引入 HAVING 是因为 WHERE 无法和统计函数一起使用

如表 order (定单)有如下字段:

id, date, price, customer

查找订单总额少于2000的客户可以这样写:

SELECT customer, SUM(price) FROM order
GROUP BY customer
HAVING SUM(price)<2000

查找指定客户中订单超过1500的订单总额:

SELECT customer,SUM(price) FROM order
WHERE customer='…' OR customer = '…'
GROUP BY customer
HAVING SUM(price) > 1500

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

希望本文所述对大家MySQL数据库计有所帮助。

(0)

相关推荐

  • MySql中having字句对组记录进行筛选使用说明

    having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前.而 having子句在聚合后对组记录进行筛选. SQL实例: 一.显示每个地区的总人口数和总面积 SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region 先以region把返回记录分成多个组,这就是GROUP BY的字面含义.分完组后,然后用聚合函数对每组中的不同字段

  • MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究

    今天有同学给我反应,有一张表,id是主键,这样的写法可以返回一条记录: "SELECT * FROM t HAVING id=MIN(id);" 但是只是把MIN换成MAX,这样返回就是空了: "SELECT * FROM t HAVING id=MAX(id);" 这是为什么呢? 我们先来做个试验,验证这种情况. 这是表结构,初始化两条记录,然后试验: root@localhost : plx 10:25:10> show create table t2G

  • mysql having用法解析

    having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前.而 having子句在聚合后对组记录进行筛选. SQL实例: 一.显示每个地区的总人口数和总面积. SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region 先以region把返回记录分成多个组,这就是GROUP BY的字面含义.分完组后,然后用聚合函数对每组中 的不同

  • 浅谈mysql数据库中的using的用法

    mysql中using的用法为: using()用于两张表的join查询,要求using()指定的列在两个表中均存在,并使用之用于join的条件. 示例: 复制代码 代码如下: select a.*, b.* from a left join b using(colA); 等同于: 复制代码 代码如下: select a.*, b.* from a left join b on a.colA = b.colA; 以上所述就是本文的全部内容,希望大家能够喜欢.

  • mysql group by having 实例代码

    mysql group by having 实例 注意:使用group by的时候,SELECT子句中的列名必须为分组列. 如下实例必须包括name列名,因为name是作为group by分组的条件. 实例: 我的数据库中有一张员工工作记录表,表中的数据库如下: mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_t

  • Mysql中order by、group by、having的区别深入分析

    order by 从英文里理解就是行的排序方式,默认的为升序. order by 后面必须列出排序的字段名,可以是多个字段名.  group by 从英文里理解就是分组.必须有"聚合函数"来配合才能使用,使用时至少需要一个分组标志字段. 什么是"聚合函数"? 像sum().count().avg()等都是"聚合函数" 使用group by 的目的就是要将数据分类汇总. 一般如: select 单位名称,count(职工id),sum(职工工资)

  • MySQL无GROUP BY直接HAVING返回空的问题分析

    有一张表,id是主键,这样的写法可以返回一条记录: 复制代码 代码如下: "SELECT * FROM t HAVING id=MIN(id);" 但是只是把MIN换成MAX,这样返回就是空了: 复制代码 代码如下: "SELECT * FROM t HAVING id=MAX(id);" 这是为什么呢?我们先来做个试验,验证这种情况.这是表结构,初始化两条记录,然后试验: 复制代码 代码如下: root@localhost : plx 10:25:10> s

  • Mysql之EXPLAIN显示using filesort介绍

    语法格式如下 EXPLAIN tbl_name 或者: EXPLAIN SELECT select_options EXPLAIN 语句可以被当作 DESCRIBE 的同义词来用,也可以用来获取一个MySQL要执行的 SELECT 语句的相关信息. EXPLAIN tbl_name 语法和 DESCRIBE tbl_name 或 SHOW COLUMNS FROM tbl_name 一样. 当在一个 SELECT 语句前使用关键字 EXPLAIN 时,MYSQL会解释了即将如何运行该 SELEC

  • mysql中group by与having合用注意事项分享

    group by函数应该的使用应该是SELECT 列表中指定的每一列也必须出现在 GROUP BY 子句中,除非这列是用于聚合函数,但是今天帮同事调试一个mysql中的group by函数,让我大跌眼镜,当时感觉不可思议,然后回来做了个简化版试验,试验过程如下: mysql表结构 复制代码 代码如下: mysql> desc t;+---+----–+--+-–+---+---+| Field | Type | Null | Key | Default | Extra |+---+----–+-

  • MySQL中USING 和 HAVING 用法实例简析

    本文实例讲述了MySQL中USING 和 HAVING 用法.分享给大家供大家参考,具体如下: USING 用于表连接时给定连接条件(可以理解为简写形式),如 SELECT * FROM table1 JOIN table2 ON table1.id = table2.id 使用 USING 可以写为 SELECT * FROM table1 JOIN table2 USING(id) HAVING 引入 HAVING 是因为 WHERE 无法和统计函数一起使用 如表 order (定单)有如下

  • MySQL中EXPLAIN语句及用法实例

    目录 前言 EXPLAIN 语法如下: 1.获取表结构 2.获取执行计划信息 3.使用 EXPLAIN ANALYZE 获取信息 总结 前言 在MySQL中 DESCRIBE 和 EXPLAIN 语句是相同的意思.DESCRIBE 语句多用于获取表结构,而 EXPLAIN 语句用于获取查询执行计划(用于解释MySQL如何执行查询语句). 通过 EXPLAIN 语句可以帮助我们发现表格的哪些字段上需要建立索引,用于加速查询.也可以使用 EXPLAIN 检查优化器是否使用最优的顺序来连接表. EXP

  • mysql中关键词exists的用法实例详解

    目录 前言 语法解释 语法 说明 使用案例 环境准备 常用查询 exists与in的效率比较 循环嵌套查询执行原理 循环优化策略 exists和in查询原理的区别 结论 总结 前言 在日常开发中,用mysql进行查询的时候,有一个比较少见的关键词exists,我们今天来学习了解一下这个exists这个sql关键词的用法,这样在工作中遇到一些特定的业务场景就可以有更加多样化的解决方案 语法解释 语法 SELECT column1 FROM t1 WHERE [conditions] and EXI

  • Python反射用法实例简析

    本文实例讲述了Python反射用法.分享给大家供大家参考,具体如下: class Person: def __init__(self): self.name = "zjgtan" def getName(self): return self.name 反射的简单含义: 通过类名获得类的实例对象 通过方法名得到方法,实现调用 反射方法一: from person import Person theObj = globals()["Person"]() print th

  • PHP中list()函数用法实例简析

    本文实例讲述了PHP中list()函数用法.分享给大家供大家参考,具体如下: PHP中的list() 函数用于在一次操作中给一组变量赋值. 注意:这里的数组变量只能为数字索引的数组,且假定数字索引从 0 开始. list()函数定义如下: list(var1,var2...) 参数说明: var1      必需.第一个需要赋值的变量. var2,...  可选.更多需要赋值的变量. 示例代码如下: <?php //$arr=array('name'=>'Tom','pwd'=>'123

  • javascript闭包(Closure)用法实例简析

    本文实例讲述了javascript闭包(Closure)用法.分享给大家供大家参考,具体如下: closure被翻译成"闭包",感觉这东西被包装的太学术化.下面参考书本和网上资源简单探讨一下(理解不当之处务请留意). 1.什么是闭包 官方的回答:所谓"闭包",指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 看了上面的定义,如果你不是高手,我坚信你会和我一样愤怒的质问:这tmd是人话吗? 要理解闭包,还是代码

  • android开发之listView组件用法实例简析

    本文实例讲述了android开发之listView组件用法.分享给大家供大家参考,具体如下: 关于Android ListView组件中android:drawSelectorOnTop含义 android:drawSelectorOnTop="true"  点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到. android:drawSelectorOnTop="false" 点击某条记录不放,颜色会在记录的后面,成为背景色,但

  • Android复选框对话框用法实例简析

    本文实例分析了Android复选框对话框用法.分享给大家供大家参考,具体如下: /** * 创建筛选复选框对话框 * @param guoguanglist 联赛名 * @param flags 是否选择 * @create_time 2011-10-26 下午3:59:54 */ private void initFilterDialog(String[] iNamelist, final boolean[] iFlags) { Builder builder = new android.ap

  • Android webview用法实例简析

    本文简单分析了Android webview用法.分享给大家供大家参考,具体如下: 在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装成名为WebView的组件. WebView使用: (1)添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误. (2)在要Activity中生成一个WebView组件: 复制代码 代码如下: WebVi

  • Sql Server中Substring函数的用法实例解析

    SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

随机推荐