泛微培训教材:SQL语句基础ppt课件_第1页
泛微培训教材:SQL语句基础ppt课件_第2页
泛微培训教材:SQL语句基础ppt课件_第3页
泛微培训教材:SQL语句基础ppt课件_第4页
泛微培训教材:SQL语句基础ppt课件_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL根底单击此处编辑母版标题款式目录泛微软件股份-协同管理处理方案泛微软件股份-新员工入职培训课件第一部分:SQL语句分类第二部分:SELECT专题第三部分:数据支配言语DML第四部分:数据定义言语DDLSQL语句分类 查询语句SELECT数据支配言语Data Manipulation Language,DML语句INSERTUPDATEDELETE数据定义言语Data Definition Language,DDL语句CREATEALTERDROPRENAMETRUNCATE事务控制Transaction Control, TC语句COMMITROLLBACKSAVEPOINT数据控制言语

2、Data Control Language, DCL语句GRANTREVOKE目录泛微软件股份-协同管理处理方案泛微软件股份-新员工入职培训课件第一部分:SQL语句分类第二部分:SELECT专题第三部分:数据支配言语DML第四部分:数据定义言语DDL查询记录根本语法 SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESCSQL语句书写规范SQL 语句对大小写不敏感SQL 语句可以写成一行或多行关键字不能简写或分开折行子句通常放在不同的行缩进用于加强可读性查询记录例如1 查询一切员工的根本信息例如2 查询一切员工的

3、根本信息,结果:姓名,联络,邮箱 select * from hrmresourceselect lastname,mobile, from hrmresource查询记录例如3 对查询结果记性计算:总金额 = 单价*数量-算术表达式-运算符优先级 select danjia*shuliang from formtable_main_2算数运算符算术表达式运算符的优先级-乘法和除法比加法和减法的优先级高-一样优先级的运算符从左到右计算-圆括号用于强迫优先计算,并且使语句更明晰* / + -查询记录例如4 对查询结果的多个字段进展拼接显示SQLserverOracle select deparm

4、entname+(+departmentcode+) from hrmdepartment select deparmentname|(|departmentcode|) from hrmdepartment查询记录例如5 给查询结果指定列明 select lastname as 姓名, as 邮箱 from hrmresource过滤查询结果WHERE子句中经常运用的操作符 -比较操作符-SQL操作符-逻辑操作符过滤查询结果比较操作符操作符说明=等于或!=不等于大于=大于或等于=2021-01-01 and createdate =2021-01-31或者Select * from work

5、flow_requestbase where createdate between 2021-01-01 and 2021-01-31过滤查询结果例如3 查询系统有成效户 例如4 查询分部id = 5的有成效户例如5查询分部id = 5且登录名以dl开头的有成效户 select * from hrmresource where stauts in(0,1,2,3)select * from hrmresource where stauts in(0,1,2,3)And subcompanyid1 = 5select * from hrmresource where stauts in(0,1,

6、2,3)And subcompanyid1 = 5 and loginid like dl%过滤查询结果例如6 查询员工姓名第二字是刚的员工 例如7 查询哪些有成效户还未设置登录名 select * from hrmresource where lastname like _刚%select * from hrmresource where stauts in(0,1,2,3)And loginid is null改动记录顺序改动查询结果显示顺序默许正序 ASC(可缺省),倒序DESC 单列排序 多列排序 select * from workflow_requestbase order by

7、createdate descselect * from workflow_requestbase order by createdate desc,requestlevel desc排除反复记录排除反复记录 关键字:distinct查询某个员工参与过的流程 select distinct requestid from workflow_currentoperator where userid = 员工id order by requestid衔接查询普通衔接内衔接用于前往满足衔接条件的记录相等衔接不等衔接自衔接外衔接内衔接的扩展,不仅会前往满足衔接条件的记录,而且会前往不满足衔接条件的记录左

8、衔接LEFT OUTER JOIN右衔接RIGHT OUTER JOIN全衔接FULL OUTER JOIN(+)衔接其他类型衔接衔接运算符用于衔接多个SELECT语句的结果UNIONUNION ALLINTERSECTMINUS衔接查询内衔接内衔接用于前往满足衔接条件的一切记录。默许情况下,在执行衔接查询时假设没有指定任何衔接操作符,那么这些衔接查询都属于内衔接。另外,可以经过FROM子句中指定INNER JOIN选项,也可以指定内衔接。衔接查询内衔接-相等衔接运用相等比较符=指定衔接条件的衔接查询例:显示部门称号为客服部 的员工发起的流程,显示流程标题,创建日期 SELECT reques

9、tname,createdate FROM workflow_requestbase a,hrmdepartment b,hrmresrouce c WHERE a.create = c.id and b.id = c.departmentid AND b.DepartmentName LIKE %客服部%; 衔接查询内衔接-不等衔接在衔接条件中运用除相等比较符外的其他比较符的衔接查询,主要用于在不同表之间显示特定范围的信息。例如:显示部门称号不是客服部 的员工发起的流程,显示流程标题,创建日期 SELECT requestname,createdate from workflow_reque

10、stbase a, (select h.ID from HrmResource h,HrmDepartment d where h.departmentid = d.id and d.departmentname like %客服部%) c where a.creater != c.id 衔接查询内衔接-自衔接指在同一张表之间的衔接查询,主要用在自参照表上显示上下级关系或者层次关系例:找到“某某“的上级指点是谁 SELECT b.lastname FROM hrmresource a,hrmresource b WHERE a.managerid=b.id AND a.lastname=某某;

11、 衔接查询外衔接外衔接是内衔接的扩展,它不仅会前往满足衔接条件的一切记录,而且还会前往不满足衔接条件的记录。类型左衔接右衔接全衔接实现语法LEFT|RIGHT|ALL OUTER JOIN(+)衔接查询例如: 查询一切员工发起流程的总数,从大到小排序 select a.lastname,case when num IS null then 0 when num is not null then num endfrom HrmResource a left outer join (select creater, COUNT(*) as num from workflow_requestbase

12、group by creater) bon a.id = b.createrorder by num desc引见两个函数Case when 例如:显示员工姓名,性别 NVL( string1, replace_with)。Oracle 特有select lastname ,case when sex=0 then 男 when sex=1 then 女 end from HrmResource 分组查询在实践运用中,经常需求把数据划分成几个组,最终统计每个组的数据结果。比如说统计不同部门的员工总数,按任务性质统计员工的平均工资等。在关系数据库中,数据分组是经过运用GROUP BY子句,HAV

13、ING子句以及分组函数共同实现的。其中,GROUP BY用于指定分组列,HAVING用于限制分组结果,分组函数用于得到统计结果分组查询GROUP BY和HAVING SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC分组查询练习:查询某个时间段员工的登录次数,从大到小排序 select relatedid,(select lastname from hrmresource where id= relatedid) as lastname,COUNT(*) as num from SysMaintenanceL

14、og where operateitem = 60 and operatedate=2007-07-01 and operatedate100;分组查询SUM计算值的总和并前往总数COUNT计算记录数AVG前往指定列中的平均值MIN前往自变量中指定列的最小值MAX前往自变量中指定列的最大值分组查询本卷须知:分组函数只能出如今选择列表、GROUP BY子句、HAVING子句和ORDER BY子句中。假设在SELECT语句中同时包含有GROUP BY、HAVING以及ORDER BY子句,那么必需将ORDER BY子句放在最后假设选择列表包含有列、表达式和分组函数,那么这些列和表达式必需出如今GR

15、OUP BY子句中,否那么出错当限制分组显示结果时,必需运用HAVING子句,而不能在WHERE子句中运用分组函数,否那么出错默许情况下,系统按照GROUP BY子句中指定的列升序陈列子查询子查询就是嵌入在其他SQL语句中的SELECT语句,也称为嵌套查询。子查询具有以下作用:经过在INSERT或CREATE TABLE语句中运用子查询,可以将源表数据追加到目的表经过在CREATE VIEW或CREATE MATERIALIZED VIEW中运用子查询,可以定义视图或实体化视图所对应的SELECT语句经过在UPDATE语句中运用子查询可以修正一列或多列的数据经过在WHERE、HAVING、ST

16、ART WITH子句中运用子查询,可以提供条件值在DDL语句中运用子查询时,可以带有ORDER BY子句;而在WHERE、SET子句中运用子查询,那么不能带有ORDER BY子句。子查询能处理的问题哪些商品的售价比疯狂的石头高?“疯狂的石头的售价是多少?子查询主查询那些影音商品的售价比“疯狂的石头的售价高?子查询记录练习:查询客服部员工的请假记录 select (select lastname from hrmresource where id = resourceid),fromdate,fromtime,todate,totime,case when leavetype=1 then 事假

17、 when leavetype=2 then 病假 else 假别end from bill_bohaiLeave where requestid in (select requestid from workflow_requestbase where creater in (select id from hrmresource where departmentid = (select id from hrmdepartment where departmentname =客服部) )子查询的运用除了运用在嵌套式SELECT语句之中外,子查询还可以被放在 CREATE VIEW 语句中、CRE

18、ATE TABLE 语句、UPDATE 语句、INSERT 语句的 INTO 子句和 UPDATE 语句的 SET 子句中。 子查询在Update中的运用将与任盈盈同岗位的员工的工资改为与任盈盈完全一样。UPDATE Employee SET(ESal)=(SELECT ESal FROM Employee WHERE EName=任盈盈)WHERE EJob=(SELECT EJob FROM Employee WHERE EName=任盈盈);表间数据转换能够存在很多缘由需求将某一表中的内容复制到另外一个表:引入老式系统legacy system中的数据将汇总加载到数据仓库将关系数据复制到

19、平面表以快速访问表的维护在当前表的根底上创建新表CREATE TABLE new_table_name AS(SELECT statement);表间数据转换运用INSERT进展数据转换INSERT INTO table_name (SELECT statement);单击此处编辑母版标题款式目录泛微软件股份-协同管理处理方案泛微软件股份-新员工入职培训课件第一部分:SQL语句分类第二部分:SELECT专题第三部分:数据支配言语DML第四部分:数据定义言语DDL插入记录-INSERT根本语法 INSERT INTO table (column , column.) VALUES (value

20、, value.);插入记录例如INSERT INTO HRMRESOURCE VALUES( 7369, 20, 丘处机, 12312341235, 副经理, 7902, TO_DATE(17/12/1995,DD/MM/YYYY), 800);插入记录如何插入包含空值的记录?方法一:INSERT INTO HRMRESOURCE VALUES( 7369, 20, 丘处机, NULL, 副经理, 7902, TO_DATE(17/12/1995,DD/MM/YYYY), 800);插入记录如何插入包含空值的记录? 方法二:INSERT INTO EMPLOYEE(EID,DID,EName

21、,EJob,EManager,EHireDate,ESal)VALUES( 7369, 20, 丘处机, 副经理, 7902, TO_DATE(17/12/1995,DD/MM/YYYY), 800);更新记录-UPDATE根本语法 UPDATE table SET column= value, column = value, . WHERE condition; 更新记录例如更新姓名为张翠山的员工的手机号码 UPDATE HRMRESOURCE SET EMOBILE=98322334 WHERE LASTNAME=张翠山;更新记录例如2更新姓名为张翠山的员工的号码为空值 UPDATE HR

22、MRESORUCE SET MOBILE=NULL WHERE LASTNAME=张翠山; UPDATE HRMRESORUCE SET MOBILE= WHERE LASTNAME=张翠山;删除记录-DELETE根本语法 DELETE FROM Table WHERE condition;删除记录删除满足指定条件的行删除平安级别小于20的人员DELETE FROM HRMRESOURCE WHERE SECLEVEL 20删除记录删除一切行在没有指定规范的情况下删除记录清空表DELETE FROM HRMRESOURCE;单击此处编辑母版标题款式目录泛微软件股份-协同管理处理方案泛微软件股份-新员工入职培训课件第一部分:SQL语句分类第二部分:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论