mysql 中using 和 having的区别

来源:互联网 发布:spring源码 策略模式 编辑:程序博客网 时间:2024/06/11 12:43

USING

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

[sql] view plain copy
 print?
  1. SELECT * FROM table1   
  2. JOIN table2 ON table1.id = table2.id   

使用 USING 可以写为
[sql] view plain copy
 print?
  1. SELECT * FROM table1   
  2. JOIN table2 USING(id)  

就这么简单

 

HAVING

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

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

id, date, price, customer

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

[sql] view plain copy
 print?
  1. SELECT customer, SUM(price) FROM order  
  2. GROUP BY customer   
  3. HAVING SUM(price)<2000  

查找指定客户中订单超过1500的订单总额:
[sql] view plain copy
 print?
  1. SELECT  customer,SUM(price) FROM order  
  2. WHERE customer=’…’ OR customer = ‘…’   
  3. GROUP BY customer   
  4. HAVING SUM(price) > 1500   
0 0
原创粉丝点击