程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql中having語句與where語句的用法與區別

mysql中having語句與where語句的用法與區別

編輯:MySQL綜合教程

mysql中having語句與where語句的用法與區別   我們在寫sql語句的時候,經常會使用where語句,很少會用到having,其實在mysql中having子句也是設定條件的語句與where有相似之處但也有區別。having子句在查詢過程中慢於聚合語句(sum,min,max,avg,count).而where子句在查詢過程中則快於聚合語句(sum,min,max,avg,count)。     簡單說來:    

where子句:  
select sum(num) as rmb from order where id>10  
//先查詢出id大於10的記錄才能進行聚合語句  

having子句:  
select reportsto as manager, count(*) as reports from employees  
group by reportsto having count(*) > 4  

 

  以test庫為例.having條件表達示為聚合語句。肯定的說having子句查詢過程慢於聚合語句。   再換句說話說把上面的having換成where則會出錯。統計分組數據時用到聚合語句。     對分組數據再次判斷時要用having。如果不用這些關系就不存在使用having。直接使用where就行了。   having就是來彌補where在分組數據判斷時的不足。因為where要快於聚合語句。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved