亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

oracle中where 子句和having子句中的區(qū)別介紹

 更新時間:2018年12月05日 11:01:14   作者:博大的Java世界  
這篇文章主要介紹了在oracle中where 子句和having子句中的區(qū)別,本文通過sql語句給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

1.where 不能放在GROUP BY 后面

2.HAVING 是跟GROUP BY 連在一起用的,放在GROUP BY 后面,此時的作用相當(dāng)于WHERE

3.WHERE 后面的條件中不能有聚集函數(shù),比如SUM(),AVG()等,而HAVING 可以

 Where和Having都是對查詢結(jié)果的一種篩選,說的書面點就是設(shè)定條件的語句。下面分別說明其用法和異同點。

注:本文使用字段為oracle數(shù)據(jù)庫中默認用戶scott下面的emp表,sal代表員工工資,deptno代表部門編號。

一、聚合函數(shù)

    說明前我們先了解下聚合函數(shù):聚合函數(shù)有時候也叫統(tǒng)計函數(shù),它們的作用通常是對一組數(shù)據(jù)的統(tǒng)計,比如說求最大值,最小值,總數(shù),平均值(
MAX,MIN,COUNT, AVG)等。這些函數(shù)和其它函數(shù)的根本區(qū)別就是它們一般作用在多條記錄上。簡單舉個例子:SELECT SUM(sal) FROM emp,這里的SUM作用是統(tǒng)計emp表中sal(工資)字段的總和,結(jié)果就是該查詢只返回一個結(jié)果,即工資總和。通過使用GROUP BY 子句,可以讓SUM 和 COUNT 這些函數(shù)對屬于一組的數(shù)據(jù)起作用。

二、where子句

    where自居僅僅用于從from子句中返回的值,from子句返回的每一行數(shù)據(jù)都會用where子句中的條件進行判斷篩選。where子句中允許使用比較運算符(>,<,>=,<=,<>,!=|等)和邏輯運算符(and,or,not)。由于大家對where子句都比較熟悉,在此不在贅述。

三、having子句

    having子句通常是與order by 子句一起使用的。因為having的作用是對使用group by進行分組統(tǒng)計后的結(jié)果進行進一步的篩選。舉個例子:現(xiàn)在需要找到部門工資總和大于10000的部門編號?

第一步:

select deptno,sum(sal) from emp group by deptno;

篩選結(jié)果如下:

DEPTNO   SUM(SAL)
------ ----------
    30       9400
    20      10875
    10       8750

可以看出我們想要的結(jié)果了。不過現(xiàn)在我們?nèi)绻胍块T工資總和大于10000的呢?那么想到了對分組統(tǒng)計結(jié)果進行篩選的having來幫我們完成。

第二步:

select deptno,sum(sal) from emp group by deptno having sum(sal)>10000;

篩選結(jié)果如下:

DEPTNO   SUM(SAL)
------ ----------
    20      10875

當(dāng)然這個結(jié)果正是我們想要的。

四、下面我們通過where子句和having子句的對比,更進一步的理解它們。

    在查詢過程中聚合語句(sum,min,max,avg,count)要比having子句優(yōu)先執(zhí)行,簡單的理解為只有有了統(tǒng)計結(jié)果后我才能執(zhí)行篩選啊。where子句在查詢過程中執(zhí)行優(yōu)先級別優(yōu)先于聚合語句(sum,min,max,avg,count),因為它是一句一句篩選的。HAVING子句可以讓我們篩選成組后的對各組數(shù)據(jù)篩選。,而WHERE子句在聚合前先篩選記錄。如:現(xiàn)在我們想要部門號不等于10的部門并且工資總和大于8000的部門編號?

我們這樣分析:通過where子句篩選出部門編號不為10的部門,然后在對部門工資進行統(tǒng)計,然后再使用having子句對統(tǒng)計結(jié)果進行篩選。

select deptno,sum(sal) from emp 
where deptno!='10' group by deptno
having sum(sal)>8000;

篩選結(jié)果如下:

DEPTNO   SUM(SAL)
------ ----------
    30       9400
    20      10875

不做太多解釋了,這個簡單的小例子能夠很好的說明where和having的作用。

五、異同點

     它們的相似之處就是定義搜索條件,不同之處是where子句為單個篩選而having子句與組有關(guān),而不是與單個的行有關(guān)。

     最后:理解having子句和where子句最好的方法就是基礎(chǔ)select語句中的那些句子的處理次序:where子句只能接收from子句輸出的數(shù)據(jù),而having子句則可以接受來自group by,where或者from子句的輸入。

總結(jié)

以上所述是小編給大家介紹的oracle中where 子句和having子句中的區(qū)別介紹,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • oracle使用sql腳本生成csv文件案例學(xué)習(xí)

    oracle使用sql腳本生成csv文件案例學(xué)習(xí)

    在oracle中用sql腳本生成csv文件,很多的朋友都想實現(xiàn)這樣的功能,所以本文的出現(xiàn)是很有必要的,感興趣的你可千萬不要錯過,希望本文可以幫助到你
    2013-02-02
  • Oracle ORA-22908(NULL表值的參考)異常分析與解決方法

    Oracle ORA-22908(NULL表值的參考)異常分析與解決方法

    這篇文章主要介紹了Oracle ORA-22908(NULL表值的參考)異常分析與解決方法,大家可以參考使用
    2013-11-11
  • ORACLE檢查找出損壞索引(Corrupt Indexes)的方法詳解

    ORACLE檢查找出損壞索引(Corrupt Indexes)的方法詳解

    這篇文章主要給大家介紹了關(guān)于ORACLE如何檢查找出損壞索引(Corrupt Indexes)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 解決ORA-12154 TNS無法解析指定的連接標識符問題

    解決ORA-12154 TNS無法解析指定的連接標識符問題

    Oracle11g server 64bit服務(wù)器端安裝在Windows Server2008 Enterprise上,安裝Oracle11g client 32bit,通過SQL Plus以sysdba身份連接數(shù)據(jù)庫,并且創(chuàng)建表空間、用戶、授權(quán)成功,在連接數(shù)據(jù)庫時出現(xiàn)問題,下面講解ORA-12154無法解析指定的連接標識符問題,感興趣的朋友一起看看
    2024-01-01
  • Oracle實現(xiàn)豎表轉(zhuǎn)橫表的幾種常用方法小結(jié)

    Oracle實現(xiàn)豎表轉(zhuǎn)橫表的幾種常用方法小結(jié)

    本文主要介紹了Oracle實現(xiàn)豎表轉(zhuǎn)橫表的幾種常用方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • oracle中dblink查看、創(chuàng)建、使用以及刪除實例代碼

    oracle中dblink查看、創(chuàng)建、使用以及刪除實例代碼

    當(dāng)用戶要跨本地數(shù)據(jù)庫訪問另外一個數(shù)據(jù)庫表中的數(shù)據(jù)時,本地數(shù)據(jù)庫中必須創(chuàng)建了遠程數(shù)據(jù)庫的DBLINK,下面這篇文章主要給大家介紹了關(guān)于oracle中dblink查看、創(chuàng)建、使用以及刪除的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • [Oracle] 如何使用觸發(fā)器實現(xiàn)IP限制用戶登錄

    [Oracle] 如何使用觸發(fā)器實現(xiàn)IP限制用戶登錄

    在Oracle里,不像MySQL那樣方便,可以直接在用戶上進行IP限制,Oracle要實現(xiàn)用戶級別的IP限制,可以使用觸發(fā)器來迂回實現(xiàn),以下就是示例,需要的朋友可以參考下
    2013-07-07
  • ORACLE SQL語句優(yōu)化技術(shù)要點解析

    ORACLE SQL語句優(yōu)化技術(shù)要點解析

    這篇文章主要介紹了ORACLE SQL語句優(yōu)化技術(shù)的相關(guān)內(nèi)容,小編覺得挺不錯的,在這里分享給大家,需要的朋友可以參考下。
    2017-10-10
  • 解決The?Network?Adapter?could?not?establish?the?conn問題

    解決The?Network?Adapter?could?not?establish?the?conn問題

    這篇文章主要介紹了解決The?Network?Adapter?could?not?establish?the?conn問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 基于Oracle多庫查詢方法(分享)

    基于Oracle多庫查詢方法(分享)

    下面小編就為大家分享一篇Oracle多庫查詢方法,具有很的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12

最新評論