MySQL USING 和 HAVING 用法

来源:互联网 发布:java封装是什么意思 编辑:程序博客网 时间:2024/05/23 21:20

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