`
longgangbai
  • 浏览: 7356264 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 10g SQL Fundamentals II(学习笔记二第3-4章)

 
阅读更多
		第三章 大数据集合
		    从一个表中拷贝数据
				insert into sales(id,name,salary,commission_pct)
				select employee_id,last_name,salary
				from employees
				where job_id like '%REP%';
			
			
			将子查询作为insert的目标
				INSERT INTO
					(SELECT employee_id, last_name,
							email, hire_date, job_id, salary, 
							department_id
					 FROM   empl3
					 WHERE  department_id = 50) 
				VALUES (99999, 'Taylor', 'DTAYLOR',
						TO_DATE('07-JUN-99', 'DD-MON-RR'),
						'ST_CLERK', 5000, 50);
            
			获取数据使用子查询作为数据源
	            SELECT  a.last_name, a.salary, 
                    a.department_id, b.salavg
				FROM    employees a, (SELECT   department_id, 
									  AVG(salary) salavg
									  FROM     employees
									  GROUP BY department_id) b
				WHERE   a.department_id = b.department_id
				AND     a.salary > b.salavg;

		    update emp
			   set job_id=(select job_id from employees
			               where employee_id=205
						   )
			   ,salary=( select salary from employees
			               where employee_id=205
			   )
			  where  employee_id=114;
			  
			  
			  INSERT ALL插入多个表的数据
               语法				
				INSERT  ALL  
						INTO table_a VALUES(…,…,…)  
						INTO table_b VALUES(…,…,…)  
						INTO table_c VALUES(…,…,…)  
				   SELECT … 
				   FROM  sourcetab   
				   WHERE …;
				   
	           例如一:
					  INSERT  ALL
							INTO sal_history VALUES(EMPID,HIREDATE,SAL)   
							INTO mgr_history VALUES(EMPID,MGR,SAL)
					  SELECT employee_id EMPID, hire_date HIREDATE,           
							salary SAL, manager_id MGR 
					  FROM  employees   
					  WHERE employee_id > 200;

	            例如二:
					  INSERT ALL
							WHEN SAL > 10000 THEN   
								INTO sal_history VALUES(EMPID,HIREDATE,SAL) 
							WHEN MGR > 200   THEN    
								INTO mgr_history VALUES(EMPID,MGR,SAL)  
					  SELECT employee_id EMPID,hire_date HIREDATE,  
						salary SAL, manager_id MGR 
					  FROM   employees   
					  WHERE  employee_id > 200;
	             实例三:
					 INSERT FIRST
						WHEN SAL  > 25000          THEN    
							INTO special_sal VALUES(DEPTID, SAL)  
						WHEN HIREDATE like ('%00%') THEN    
							INTO hiredate_history_00 VALUES(DEPTID,HIREDATE)  
						WHEN HIREDATE like ('%99%') THEN    
							INTO hiredate_history_99 VALUES(DEPTID, HIREDATE)  
						ELSE  
							INTO hiredate_history VALUES(DEPTID, HIREDATE)
					SELECT department_id DEPTID, SUM(salary) SAL,         
						MAX(hire_date) HIREDATE  FROM   employees
					GROUP BY department_id;
					
					
				实例四:
					INSERT ALL
						INTO sales_info VALUES(employee_id,week_id,sales_MON)
						INTO sales_info VALUES(employee_id,week_id,sales_TUE)
						INTO sales_info VALUES(employee_id,week_id,sales_WED)
						INTO sales_info VALUES(employee_id,week_id,sales_THUR)
						INTO sales_info VALUES(employee_id,week_id,sales_FRI)
                     SELECT employe_id,week_id,sales_mon,sales_tue,sales_wed,sales_thur,sale_pri
                     FROM sales_source_data;

				MERGE语句的使用:
				      语法:
					     MERGE INTO table_name table_alias
						  USING (table|view|sub_query) alias
						  ON (join condition)
						  WHEN MATCHED THEN
							UPDATE SET 
							col1 = col_val1,
							col2 = col2_val
						  WHEN NOT MATCHED THEN
							INSERT (column_list)
							VALUES (column_values);

                     例如:插入或者更新empl3表信息
					 MERGE INTO empl3  c
					  USING employees e
					  ON (c.employee_id = e.employee_id)
					WHEN MATCHED THEN
					  UPDATE SET
						 c.first_name     = e.first_name,
						 c.last_name      = e.last_name,
						 ...
						 c.department_id  = e.department_id
					WHEN NOT MATCHED THEN
					 INSERT VALUES(e.employee_id, e.first_name, e.last_name,
							  e.email, e.phone_number, e.hire_date, e.job_id,
							  e.salary, e.commission_pct, e.manager_id, 
							  e.department_id);

             第四章分组相关的函数
			 语法:
			 SELECT	[column,] group_function(column)... 
				FROM		table
				[WHERE	condition]
				[GROUP BY	group_by_expression]
				[HAVING 	having_expression] 	
				[ORDER BY	column];

			 SELECT   department_id, job_id, SUM(salary), 
				 COUNT(employee_id)
				FROM     employees
				GROUP BY department_id, job_id ;



				SELECT   department_id, job_id, SUM(salary)
				FROM     employees  
				WHERE    department_id < 60
				GROUP BY ROLLUP(department_id, job_id);


				SELECT   department_id, job_id, SUM(salary)
				FROM     employees  
				WHERE    department_id < 60
				GROUP BY CUBE (department_id, job_id) ;


				SELECT   department_id DEPTID, job_id JOB, 
					 SUM(salary),
					 GROUPING(department_id) GRP_DEPT,
					 GROUPING(job_id) GRP_JOB
					FROM     employees
					WHERE    department_id < 50
					GROUP BY ROLLUP(department_id, job_id);
					
					
					SELECT   department_id, job_id, 
					 manager_id,avg(salary)
					FROM     employees
					GROUP BY GROUPING SETS((department_id,job_id), (job_id,manager_id));



				SELECT   department_id, job_id, manager_id, 
						 SUM(salary)
				FROM     employees 
				GROUP BY ROLLUP( department_id,(job_id, manager_id));



				SELECT   department_id, job_id, manager_id, 
						 SUM(salary)
				FROM     employees  
				GROUP BY department_id,
						 ROLLUP(job_id),
						 CUBE(manager_id);

 

分享到:
评论

相关推荐

    小布老师 Oracle9i DBAFundamentals I 视频教程学习笔记

    小布老师的《Oracle9i DBA Fundamentals I》视频教程学习笔记,深入解析了Oracle数据库管理的核心概念和技术细节,尤其聚焦于Oracle9i版本。以下是对该教程中关键知识点的详细阐述: ### 一、Oracle架构的主要组件 ...

    小布老师SQL学习笔记

    在Oracle 11g SQL Fundamentals Training中,我们主要探讨了SQL的基础知识,包括如何使用SQL进行数据操作、定义数据结构、控制数据访问以及事务管理。 1. **主键(Primary Key)**:在数据库表中,主键是一个或一组...

    数据库开发 Oracle数据库 SQL开发教程 第0章 开篇概述(共14页).pdf

    Oracle认证是衡量数据库专业技能的重要标准,本教程覆盖了OCA(Oracle认证专员)的基础课程,包括Oracle Database 10g: SQL Fundamentals。进一步提升,可以考取OCP(Oracle认证专家)和OCM(Oracle认证大师),这...

    OCA 047 word版

    【压缩包子文件的文件名称列表】中的"1z1-047 V2.2.doc"很可能代表Oracle的考试编号1Z1-047的第二版本(V2.2)的学习材料,通常这个考试编号对应的是Oracle Database 12c:SQL Fundamentals I。此文档可能涵盖了SQL...

    远程debug流程,方便debug

    远程debug流程,方便debug

    基于麻雀生物特性的搜索算法(SSA)的Matlab实现:原理、代码与实战应用,基于圈养麻雀特性的搜索算法(SSA)matlab实现:原理、代码与警觉机制解析,麻雀搜索算法(SSA)的matlab实现

    基于麻雀生物特性的搜索算法(SSA)的Matlab实现:原理、代码与实战应用,基于圈养麻雀特性的搜索算法(SSA)matlab实现:原理、代码与警觉机制解析,麻雀搜索算法(SSA)的matlab实现 原创代码,注释清晰,可直接运行 研究表明,圈养的麻雀存在两种不同类型:发现者和加入者。 发现者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而加入者则是利用发现者来获取食物。 在生活中我们仔细观察会发现,当群体中有麻雀发现周围有捕食者时,此时群体中一个或多个个体会发出啁啾声,一旦发出这样的声音整个种群就会立即躲避危险,进而飞到其它的安全区域进行觅食。 这样的麻雀被称为警觉者。 麻雀搜索算法就是利用麻雀的这种生物特性进行迭代寻优的优化算法。 本资源包含以下三部分内容: 1.麻雀搜索算法的基本原理(两篇参考文献),非常适合用来学习。 2.麻雀搜索算法的matlab代码,注释详细,结构清晰。 3.五个群智能优化算法常用的测试函数。 ,麻雀搜索算法(SSA); MATLAB实现; 原创代码; 注释清晰; 可直接运行; 生物特性迭代寻优; 发现者与加入者; 警觉者; 参考两篇文献。

    基于java的五子棋游戏设计源码+论文

    基于java的五子棋游戏设计源码+论文

    deepseek-r1使用指南

    deepseek-r1使用指南

    DeepSeek+DeepResearch-让科研像聊天一样简单

    DeepSeek+DeepResearch——让科研像聊天一样简单 (1)DeepSeek如何做数据分析? (2)DeepSeek如何分析文件内容? (3)DeepSeek如何进行数据挖掘? (4)DeepSeek如何进行科学研究? (5)DeepSeek如何写综述? (6)DeepSeek如何进行数据可视化? (7)DeepSeek如何写作润色? (8)DeepSeek如何中英文互译? (9)DeepSeek如何做降重? (10)DeepSeek论文参考文献指令 (11)DeepSeek基础知识。

    基于dlib及opencv的人脸识别.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    基于人工智能的目标检测应用.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    DSP28335通过SPI与AD7606八路信号采集与通信的实践:实时数值与波形展示在上位机界面上,DSP28335与AD7606 SPI通信:采集八路信号并通过SCI上送至上位机实现数据及波形显示

    DSP28335通过SPI与AD7606八路信号采集与通信的实践:实时数值与波形展示在上位机界面上,DSP28335与AD7606 SPI通信:采集八路信号并通过SCI上送至上位机实现数据及波形显示,Dsp28335利用spi与ad7606通信,采集八路信号,通过sci发送到到上位机显示数值和波形 ,DSP28335; SPI; AD7606; 八路信号采集; SCI; 上位机显示; 数值和波形,DSP28335 SPI通讯 AD7606 八路信号采集 SCI发送上位机显示

    搭建mario机器学习测试系统,进行机器学习。.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    marisa-ruby-0.2.4-4.el7.x64-86.rpm.tar.gz

    1、文件内容:marisa-ruby-0.2.4-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/marisa-ruby-0.2.4-4.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

    基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法matlab代码: 针对麻

    基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法matlab代码: 针对麻雀搜索算法(SSA)在接近全局最优时,种群多样性减少,易陷入局部最优解等问题,提出了一种混沌麻雀搜索优化算法(CSSA)。 通过改进 Tent 混沌序列初始化种群,提高初始解的质量,增强算法的全局搜索能力; ,基于Tent混沌映射的麻雀搜索算法; CSSA(混沌麻雀搜索优化算法); Tent混沌序列初始化种群; 全局搜索能力。,基于Tent混沌映射的CSSA算法:提高麻雀搜索全局搜索能力

    JavaWeb期刊管理系统_课程设计附课设报告.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    上接战略下接绩效的培训规划.pptx

    上接战略下接绩效的培训规划.pptx

    基于S7-300 PLC和Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序详解、接线与原理图图谱及组态设计,基于S7-300 PLC与Wincc Flexible触摸屏的温室大

    基于S7-300 PLC和Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序详解、接线与原理图图谱及组态设计,基于S7-300 PLC与Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序、接线图与组态画面全解析,No.943 基于S7-300 PLC和Wincc Flexible触摸屏温室大棚控制 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面 ,943; S7-300 PLC; Wincc Flexible触摸屏; 温室大棚控制; 梯形图程序; 接线图原理图; IO分配; 组态画面,S7-300 PLC与Wincc Flexible触摸屏联合打造:No.943温室大棚控制系统的设计与实现

    基于ADMM算法的GAMS程序:发电商竞标策略模型及其应用解析,GAMS程序解析:基于ADMM算法的发电商竞标策略优化模型与代码实现,GAMS程序:ADMM算法-基于ADMM法的发电商竞标策略 本程序

    基于ADMM算法的GAMS程序:发电商竞标策略模型及其应用解析,GAMS程序解析:基于ADMM算法的发电商竞标策略优化模型与代码实现,GAMS程序:ADMM算法-基于ADMM法的发电商竞标策略 本程序主要介绍ADMM算法在GAMS中的编写方式,模型基于发电商竞标策略进行编写,基本包含了文章中的模型,但并非完全复现,可作为参考程序自学使用,也可在程序的基础上进行修改使用。 需要的同学可根据以下图片研究是否为自己需要的程序进行。 也可提供ADMM部分程序。 程序包括两个,分别为解决战略投资问题的广义MILP制定的GAMS代码、基于提出的共识- admm算法解决战略投资问题的GAMS代码 ,GAMS程序; ADMM算法; 发电商竞标策略; 模型编写; 广义MILP; 共识-ADMM算法; 战略投资问题; 程序修改。,GAMS程序:ADMM算法在发电商竞标策略中的应用示例

    springboot整合Quartz实现动态配置定时任务.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

Global site tag (gtag.js) - Google Analytics