版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OracleSQL语言培训教材福建省电力公司内部培训资料|2026年4月目录第一章:SQL语言基础认识SQL与Oracle数据库,掌握基础架构与数据类型第二章:SQL核心查询与操作深入学习数据的增删改查(CRUD),掌握核心语法逻辑第三章:SQL高级特性与函数探讨聚合函数、多表连接与窗口函数等高级应用第四章:电力行业实战案例分析结合电力业务场景,通过真实案例巩固所学知识SQL数据库培训课程·2024第一章SQL语言基础认识SQL与Oracle数据库什么是SQL?定义:全称StructuredQueryLanguage(结构化查询语言),是管理和操作关系型数据库的标准语言。核心功能:实现数据的查询、插入、更新、删除,以及数据库对象(表、索引等)的创建与修改。语言四大分类DDL数据定义定义结构(CREATE/ALTER)DML数据操作增删改数据(INSERT/UPD)DQL数据查询查询数据(SELECT核心)DCL数据控制权限管理(GRANT/REVOKE)“与数据库沟通的桥梁”Oracle数据库简介全球领先的企业级
关系型数据库管理系统行业地位与声誉全球顶尖的RDBMS,以极高的可靠性、安全性和卓越性能著称,是企业级数据管理的首选标准。核心技术特性高可用性:支持RAC集群,保障7x24小时业务连续。安全合规:提供多层级访问控制、透明加密及审计功能。弹性扩展:线性扩展架构,从容应对业务数据爆发式增长。电力行业深度应用广泛支撑ERP、电网调度、电力营销及设备资产管理等核心业务系统,是电力信息化建设的坚实基石。第二章SQL核心查询与操作数据的增删改查SELECT查询基础基本语法结构SELECT[DISTINCT]列1,列2,...,*FROM表名[WHERE]条件[ORDERBY]排序列[ASC|DESC];实战示例:查询员工信息--从员工表中查询姓名和部门SELECTEMP_NAME,DEPT_NAMEFROMEMPLOYEES;关键字详解SELECT:指定要查询的列,使用*可表示所有列DISTINCT:可选参数,用于去除结果集中的重复行FROM:指定数据来源的表名,是查询的基础WHERE:可选参数,用于过滤满足特定条件的数据ORDERBY:可选参数,对查询结果进行升序(ASC)或降序(DESC)排序条件查询与排序条件查询(WHERE)比较运算:使用=,>,<,>=,<=,<>进行筛选逻辑组合:使用AND,OR,NOT连接多个条件模糊查询:使用LIKE,%匹配任意,_匹配单个SELECTFROMEMPLOYEESWHERESALARY>5000ANDGENDER='男';示例:查询薪资大于5000的男性员工排序(ORDERBY)排序规则:对查询结果进行升序或降序排列关键字:ASC升序(默认),DESC降序多列排序:可指定多个字段依次排序SELECTFROMEMPLOYEESORDERBYSALARYDESC;示例:按薪资降序排列所有员工数据插入、更新与删除插入数据(INSERT)INSERTINTO表名(列1,列2...)VALUES(值1,值2...);示例:插入一条新员工记录INSERTINTOEMPLOYEES(EMP_ID,EMP_NAME,DEPT_ID)VALUES(1001,'张三',10);更新数据(UPDATE)UPDATE表名SET列1=值1...WHERE条件;示例:更新员工1001的薪资UPDATEEMPLOYEESSETSALARY=6500WHEREEMP_ID=1001;删除数据(DELETE)DELETEFROM表名WHERE条件;示例:删除员工1001的记录DELETEFROMEMPLOYEESWHEREEMP_ID=1001;重要提醒:执行UPDATE和DELETE操作时,务必加上WHERE条件,否则会更新或删除表中所有数据!第三章SQL高级特性与函数聚合、连接与常用函数聚合函数与分组查询常用聚合函数•SUM(列):对指定列的值求和•AVG(列):计算指定列的平均值•COUNT(*):统计表中总行数•MAX(列)/MIN(列):求列的最大/最小值分组查询(GROUPBY)将数据按照指定的列进行逻辑分组,对每个分组独立应用聚合函数进行统计。过滤分组(HAVING)在分组统计后对结果集进行过滤,功能类似WHERE,但专门作用于分组后的结果。💻示例:统计部门人数与平均薪资(人数>5)SELECTDEPT_ID,COUNT(*)ASEMP_COUNT,AVG(SALARY)ASAVG_SALARYFROMEMPLOYEESGROUPBYDEPT_IDHAVINGCOUNT(*)>5;💡核心逻辑:先FROM取表->GROUPBY分组->聚合计算->HAVING筛选结果->SELECT展示多表连接查询核心连接类型内连接(INNERJOIN)仅返回两个表中满足连接条件的匹配记录(交集)。左连接(LEFTJOIN)返回左表所有记录,以及右表中匹配的记录(左表全量)。右连接(RIGHTJOIN)返回右表所有记录,以及左表中匹配的记录(右表全量)。连接条件:使用ON子句指定关联字段(如外键),精准关联多表。实战示例:查询员工与部门SELECTE.EMP_NAME,D.DEPT_NAMEFROMEMPLOYEESEINNERJOINDEPARTMENTSDONE.DEPT_ID=D.DEPT_ID;语法结构参考常用单行函数字符函数UPPER(str):转换为大写LOWER(str):转换为小写SUBSTR(s,p,l):截取子串LENGTH(str):返回长度数字函数ROUND(n,d):四舍五入TRUNC(n,d):直接截断MOD(n1,n2):取模(余数)日期函数SYSDATE:当前系统时间ADD_MONTHS:日期加减月TO_CHAR:转指定格式实战示例:将员工姓名转换为大写,并计算其入职天数SELECTUPPER(EMP_NAME),TRUNC(SYSDATE-HIRE_DATE)ASDAYS_EMPLOYEDFROMEMPLOYEES;子查询与集合操作子查询(Subquery)嵌套在另一个SQL语句中的内部查询可用于WHERE、FROM、SELECT等子句常用于解决复杂的依赖关系查询--示例:查询薪资高于平均薪资的员工SELECT*FROMEMPLOYEESWHERESALARY>(SELECTAVG(SALARY)FROMEMPLOYEES);集合操作(SetOperations)UNION:合并并去重/UNIONALL:合并不去重INTERSECT:返回两个结果集的交集MINUS:返回两个结果集的差集--示例:合并两个部门的员工列表SELECTEMP_NAMEFROMEMPWHEREDEPT_ID=10UNIONSELECTEMP_NAMEFROMEMPWHEREDEPT_ID=20;核心要点:子查询用于处理“先有鸡还是先有蛋”的依赖逻辑;集合操作则是对多个独立结果集进行数学集合运算。第四章电力行业实战案例分析结合业务场景的SQL深度应用与解决方案案例一:设备台账管理业务场景描述管理电力设备的基本信息,包括设备ID、名称、类型、状态、安装日期等核心资产数据,为运维提供基础支撑。建表语句(DDL)CREATETABLEEQUIPMENT(EQ_IDINTPRIMARYKEY,EQ_NAMEVARCHAR2(100),EQ_TYPEVARCHAR2(50),STATUSVARCHAR2(20),INSTALL_DATEDATE);查询示例(DQL)--1.查询所有运行中的设备SELECT*FROMEQUIPMENTWHERESTATUS='运行中';--2.统计各类型设备数量SELECTEQ_TYPE,COUNT(*)FROMEQUIPMENTGROUPBYEQ_TYPE;通过结构化查询语言(SQL),我们可以高效地完成设备数据的存储与检索,实现从“台账登记”到“状态监控”的数字化闭环。案例二:用电数据统计业务场景:统计用户的用电数据,分析用电趋势,为制定电价策略和用电优化提供数据支持。建表语句(DDL)CREATETABLEELECTRIC_USAGE(USER_IDINT,USAGE_DATEDATE,USAGE_AMOUNTNUMBER(10,2));统计示例:用户2023年各月用电量统计SELECTTO_CHAR(USAGE_DATE,'YYYY-MM')ASMONTH,SUM(USAGE_AMOUNT)ASTOTAL_USAGEFROMELECTRIC_USAGEWHEREUSER_ID=1001ANDUSAGE_DATEBETWEENTO_DATE('2023-01-01','YYYY-MM-DD')ANDTO_DATE('2023-12-31','YYYY-MM-DD')GROUPBYTO_CHAR(USAGE_DATE,'YYYY-MM')ORDERBYMONTH;案例三:故障数据分析业务场景记录电网故障信息,分析故障原因和频率,为设备维护和改进提供数据支持。建表语句(DDL)CREATETABLEFAULT_RECORDS(FAULT_IDINT,EQ_IDINT,FAULT_DATEDATE,FAULT_REASONVARCHAR2(200));分析示例(Query)SELECTFAULT_REASON,COUNT(*)ASCNTFROMFAULT_RECORDSGROUPBYFAULT_REASONORDERBYCNTDESC;核心价值:通过分组统计故障原因,快速识别高频故障点,辅助制定精准的运维策略。SQL性能优化简介合理使用索引为查询条件、排序、分组的列建立索引,显著提升查询速度。避免全表扫描避免在WHERE子句中使用SELECT*和对列进行函数操作,防止索引失效。优化JOIN语句确保连接条件使用的列有索引,避免不必要的笛卡尔积。限制结果集使用ROWNUM或FETCHFIRST限制返回行数,按需获取数据。分析执行计划使用EXPLAINPLAN分析执行路径,精准定位性能瓶颈。总结与回顾SQL基础SQ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民航安全检查工种五级(初级)知识试题库-下(多选、判断题部分)
- 天津市辅警招聘考试题及答案
- 液氢绝热材料升级可行性研究方案
- 会员资格转让协议书
- 双方调解签了协议书
- 2026年事业单位招聘考试计算机理论知识考试试卷及答案(三)
- 医学26年老年支架术后随访查房课件
- 辽宁2026年税务师《税法一》章节练习题
- 沉管法施工方案(专家论证版)
- 2026年健康管理师中级工理论试题及解析
- JT-T-760-2009浮标技术条件
- 陕西省西安市长安区2023-2024学年八年级下学期期中数学试题(含答案)
- 旅游服务营销策略与创新
- 行政的使命目的和价值概述
- 人工智能改变网络支付方式
- JGT366-2012 外墙保温用锚栓
- 跨越档封网计算表
- 清原县城小城镇空间形态发展研究
- 地球概论PPT完整全套教学课件
- 2023年机械制造装备设计大作业
- 现行铁路工程建设通用参考图目录2023年7月
评论
0/150
提交评论