Oracle基礎知識(二)

目錄

1.聚合函數

2.COUNT(1)&COUNT(*)&COUNT(字段)區別(面試常問)

3.分組聚合——group by

4.去重:DISTINCT?、GROUP?BY

5.聚合函數的過濾HAVING

6.oracle中having與where的區別 ?(面試常問)

7.ROUND與TRUNC函數

8.ROLLUP上卷與CUBE各維度匯總

9.子查詢

單行子查詢案例:

多行子查詢案例:


1.聚合函數

聚合函數:可以同時對多行進行操作,并返回一個結果

聚合函數有:

(1)avg(x):返回x的平均值;

(2)count(x):查詢返回的行數;

(3)max(x):返回x的最大值;

(4)min(x):返回x的最小值;

(5)median(x):返回x的中位數;

(6)sum(x):返回x的和;

2.COUNT(1)&COUNT(*)&COUNT(字段)區別(面試常問)

COUNT(1)&COUNT(*) 都是統計行數 得到的結果都是一樣的

但是 COUNT(1) 比 COUNT(*) 性能要好一點,因為COUNT(*)需要先得到表的字段信息然后再計數。

而COUNT(1)相當于新增一列,然后對該列進行直接計數。

COUNT(字段)是統計該字段非空的行數(不把為空的行統計進去)

3.分組聚合——group by

分組的情況下,group by后面有什么字段,select 才可以查對應的字段

4.去重:DISTINCT?、GROUP?BY

特性DISTINCTGROUP BY
主要用途去除查詢結果中的重復行對數據進行分組并允許使用聚合函數
是否可與聚合函數一起使用不可以可以
對輸出的影響返回去重后的結果集根據分組條件返回每組的匯總信息
性能考慮對于簡單去重操作較為直接有效更適合需要匯總、統計等復雜查詢
示例SELECT DISTINCT department_id FROM employees;SELECT department_id, COUNT(*) FROM employees GROUP BY department_id;

5.聚合函數的過濾HAVING

HAVING必須和group by 配合使用,且having必須在group by后面

HAVING?關鍵字和 WHERE?關鍵字都可以用來過濾數據,

且 HAVING?支持 WHERE?關鍵字中所有的操作符和語法。

注意:使用聚合函數之前盡量先用where進行過濾,先過濾再分組

? ? ? ? ? ?避免查*,用到哪些字段就查詢哪些字段??????????

6.oracle中having與where的區別 ?(面試常問)

  1. where?不能放在 group?by?的后面
  2. HAVING?是跟 GROUP?BY?連在一起用的,放在 GROUP?BY?后面,此時的作用相當于WHERE
  3. WHERE?后面的條件中不能有聚合函數,比如 SUM()、AVG()等,而 HAVING?可以

示例1:找出部門平均薪資大于1000 并且 部門編號不為10的 部門和部門平均薪資

select?deptno,avg(sal) avg_sal
from?emp
where?deptno<>10
group?by?deptno
having?avg(sal)>1000;

7.ROUND與TRUNC函數

ROUND(x,y)--四舍五入至y位小數

ROUND(x)--四舍五入至整數

TRUNC(x,y)--根據指定的小數位數截斷數值(不進行四舍五入)。

8.ROLLUP上卷與CUBE各維度匯總

特性ROLLUP(job, deptno)CUBE(job, deptno)
匯總層級層次化匯總所有可能組合
包含哪些分組(job, deptno), (job), ()(job, deptno), (job), (deptno), ()
是否包含部門小計? 不包含只按部門的小計? 包含
結果行數較少更多

9.子查詢

--單行子查詢,返回的結果里只有一條數據????????????????SELECT?COUNT(1) FROM?EMP;

--多行子查詢,返回的結果集里有多條數據????????????????SELECT?ENAME FROM?EMP;?

單行子查詢案例:

示例:查詢EMP,找出哪些人薪資比SCOTT用戶高

SELECT SAL
FROM EMP
WHERE ENAME = 'SCOTT';
--
SELECT ENAME
FROM EMP
WHERE SAL > 3000;
--
SELECT ENAME
FROM EMP
WHERE SAL > (SELECT SALFROM EMPWHERE ENAME = 'SCOTT');

多行子查詢案例:

示例:在10 和 20 部門中找出工作崗位和30部門中存在的任意一個崗位相同的員工的信息

SELECT DISTINCT JOB
FROM EMP
WHERE DEPTNO = 30;SELECT *
FROM EMP
WHERE DEPTNO IN (10, 20)AND JOB IN (SELECT DISTINCT JOBFROM EMPWHERE DEPTNO = 30);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80851.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80851.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80851.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DTAS 3D多約束裝配助力懸架公差分析尺寸鏈計算:麥弗遜/雙叉臂/多連桿/H臂一網打盡

摘要&#xff1a;汽車四輪定位參數與懸架密切相關。汽車懸架對于車輛的行駛性能、安全性和舒適性至關重要。DTAS 3D提供了各類型懸架的公差仿真分析方法。 關鍵字&#xff1a;DTAS 3D、前后懸架、公差仿真分析、 運動耦合 一、懸架公差分析綜述 懸架是車身&#xff08;或車架…

Serverless爬蟲架構揭秘:動態IP、冷啟動與成本優化

一、問題背景&#xff1a;舊技術的瓶頸 在傳統爬蟲架構中&#xff0c;我們通常部署任務在本地機器或虛擬機中&#xff0c;搭配定時器調度任務。雖然這種方式簡單&#xff0c;但存在以下明顯缺陷&#xff1a; 固定IP易被封禁&#xff1a;目標網站如拼多多會通過IP頻率監控限制…

設備預測性維護的停機時間革命:中訊燭龍如何用AI重構工業設備管理范式

在工業4.0的智能化浪潮中&#xff0c;非計劃停機每年吞噬企業3%-8%的產值。中訊燭龍預測性維護系統通過多模態感知矩陣分布式智能體的創新架構&#xff0c;實現設備健康管理的范式躍遷&#xff0c;幫助制造企業將停機時間壓縮70%以上。本文將深度解析技術實現路徑與行業級實踐方…

Java面試攻略:從Spring Boot到微服務架構的深入探討

Java面試攻略&#xff1a;從Spring Boot到微服務架構的深入探討 場景設定 在一家知名互聯網大廠的會議室里&#xff0c;資深面試官王老師正在對一位求職者謝飛機進行技術面試。謝飛機是一位幽默風趣的程序員&#xff0c;他的回答有時讓人捧腹大笑。 第一輪&#xff1a;核心技…

LlamaIndex

1、大語言模型開發框架的價值是什么? SDK:Software Development Kit,它是一組軟件工具和資源的集合,旨在幫助開發者創建、測試、部署和維護應用程序或軟件。 所有開發框架(SDK)的核心價值,都是降低開發、維護成本。 大語言模型開發框架的價值,是讓開發者可以更方便地…

【linux命令】git命令簡單使用

git命令簡單使用 1. 將代碼下載到到本地2. 查看分支是否正確3. 將工作目錄中的變更添加到暫存區&#xff0c;為下一次提交做準備4. 提交更改&#xff0c;添加提交信息5. 將本地的提交推送到遠程倉庫6.從遠端倉庫拉取分支代碼7.查看修改日志8. 解決沖突 1. 將代碼下載到到本地 …

debian系統redis-dump安裝

1. ?Ruby 環境? Redis-dump 是一個 Ruby 工具&#xff0c;需先安裝 Ruby 和 RubyGems。 安裝命令?&#xff1a; sudo apt update sudo apt install ruby-full build-essential[roota29d39f5fd10:/opt/redis-dump/bin# apt install ruby-full build-essential Reading pac…

微軟押注“代理式AI網絡”:一場重塑軟件開發與工作方式的技術革命

在 2025 年 Build 開發者大會上&#xff0c;微軟正式發布了其面向“開放代理式網絡&#xff08;Open Agentic Web&#xff09;”的宏大戰略&#xff0c;推出超過 50 項 AI 相關技術更新&#xff0c;涵蓋 GitHub、Azure、Windows 和 Microsoft 365 全線產品。這一系列更新的核心…

【音頻】wav文件如何解析編碼格式(壓縮格式)?

要確定一個WAV文件的編碼格式&#xff0c;可以通過以下幾種方法實現&#xff0c;包括使用操作系統自帶工具、專業音頻軟件或編程解析文件頭信息。以下是詳細說明&#xff1a; 一、通過文件屬性查看&#xff08;Windows/macOS&#xff09; 1. Windows系統 步驟&#xff1a; 右…

算法打卡第三天

10.長度最小的子數組 &#xff08;力扣209題&#xff09; 給定一個含有 n 個正整數的數組和一個正整數 target 。 找出該數組中滿足其總和大于等于 target 的長度最小的 子數組 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其長度**。**如果不存在符合條件的子…

數字電子技術基礎(六十二)——使用Multisim軟件繪制邊沿觸發的D觸發器和JK觸發器

1 使用Mulitism軟件模擬時鐘觸發的D觸發器 D觸發器是一種基本的數字電路存儲元件&#xff0c;它在時鐘信號的邊沿將輸入數據D傳遞到輸出Q。下面開始使用Multisim軟件來模擬時鐘觸發的D觸發器。 器件選擇&#xff1a; 觸發器選擇&#xff1a;在組選項欄中點擊Misc Digital&am…

自動獲取新版本 js 靜態文件

場景 代碼里有靜態js文件&#xff0c;發布一個版本1.0在真實環境&#xff0c;再修改重新發布2.0&#xff0c;用戶如何得到新版本&#xff1f; 方法 一、文件名哈希策略&#xff08;最推薦&#xff09; 通過構建工具為文件生成唯一哈希值&#xff0c;使每次更新后的文件名不同…

第13天-用BeautifulSoup解析網頁數據:以百度熱搜可視化為例

一、BeautifulSoup簡介 BeautifulSoup是Python最受歡迎的HTML/XML解析庫之一,它能將復雜的網頁文檔轉換為樹形結構,支持多種解析器(如lxml、html.parser)。配合requests庫,可以快速構建網頁爬蟲項目。 二、環境準備 pip install requests beautifulsoup4 matplotlib 三…

PyTorch中cdist和sum函數使用詳解

torch.cdist 是 PyTorch 中用于計算**兩個張量之間的成對距離&#xff08;pairwise distance&#xff09;**的函數&#xff0c;常用于點云處理、圖神經網絡、相似性度量等場景。 基本語法 torch.cdist(x1, x2, p2.0)參數說明&#xff1a; 參數說明x1一個形狀為 [B, M, D] 或 …

智能視覺檢測技術:制造業質量管控的“隱形守護者”

在工業4.0浪潮的推動下&#xff0c;制造業正經歷一場以智能化為核心的變革。傳統人工質檢模式因效率低、誤差率高、成本高昂等問題&#xff0c;逐漸難以滿足現代生產對高精度、高速度的需求。智能視覺檢測技術作為人工智能與機器視覺融合的產物&#xff0c;正成為制造業質量管控…

水滸后傳-暹羅國建立新國家的故事

第一節《怒海余生》 李俊率領殘部穿越臺風海域&#xff0c;在暹羅灣遭遇葡萄牙艦隊突襲。童猛為掩護船隊突圍&#xff0c;駕駛火船與敵艦同歸于盡&#xff0c;留下最后的忠義絕唱。 第二節《血染王城》 李俊與暹羅舊貴族勢力在曼谷河畔展開決戰。中原陣法與暹羅象兵碰撞出驚心…

1.portainer

容器可視化工具 商業版Business、社區版Community docker容器部署portainer&#xff0c;對外暴露端口9443是一個自簽名的證書端口。還有另外一個暴露的端口8000。 volume 要想看得到&#xff0c;需要通過 portainer可視化界面看到volume&#xff0c;就必須使用&#xff1a; d…

使用Starrocks制作拉鏈表

5月1日向ods_order_info插入3條數據&#xff1a; CREATE TABLE ods_order_info(dt string,id string COMMENT 訂單編號,total_amount decimal(10,2) COMMENT 訂單金額 ) PRIMARY KEY(dt, id) PARTITION BY (dt) DISTRIBUTED BY HASH(id) PROPERTIES ( "replication_num&q…

Linux下Docker使用阿里云鏡像加速器

在中國大陸環境中配置 Docker 使用阿里云鏡像加速器&#xff0c;并確保通過 Clash 代理訪問 Docker Hub 我這里用的Debian12。 步驟 1&#xff1a;獲取阿里云鏡像加速器地址 登錄阿里云容器鏡像服務控制臺&#xff1a;(qinyang.wang) 網址&#xff1a;阿里云登錄 - 歡迎登錄阿…

Electron 后臺常駐服務實現(托盤 + 開機自啟)

基于 electron-vite-vue 項目結構 本篇將詳細介紹如何為 Electron 應用實現后臺常駐運行&#xff0c;包括&#xff1a; ? 創建系統托盤圖標&#xff08;Tray&#xff09;? 支持點擊托盤菜單控制窗口顯示/退出? 實現開機自啟功能&#xff08;Auto Launch&#xff09; &#…