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.mzph.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; &#…