SQL语句和SQL函数.ppt_第1页
SQL语句和SQL函数.ppt_第2页
SQL语句和SQL函数.ppt_第3页
SQL语句和SQL函数.ppt_第4页
SQL语句和SQL函数.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

SQL语句和SQL函数,目标,在完成本章学习后,你将掌握下列技能:Oracle的数据类型SQL数据定义语句SQL数据操纵语句SQL查询语句常用的SQL函数,本章内容,SQL简介Oracle的数据类型表定义语句表数据操纵语句表数据查询常用的SQL函数,本章内容导航,SQL简介Oracle的数据类型表定义语句表数据操纵语句表数据查询常用的SQL函数,SQL简介,SQL是StructuredQueryLanguage(结构化查询语言)的首字母缩写词。SQL是数据库语言,Oracle使用该语言存储和检索信息。通过SQL可以实现与Oracle服务器的通信。,SELECTenameFROMEmp;,发送SQL查询,输出到用户端,用户,SQL简介,数据操纵语言(DML)insertupdatedelete数据定义语言(DDL)createalterdrop数据查询语言(DQL)select数据控制语言(DCL)grantrevokecommitrollbacksavepoint,本章内容导航,SQL简介Oracle的数据类型表定义语句表数据操纵语句表数据查询常用的SQL函数,Oracle的数据类型,以下是Oracle常用的几类数据类型:,数据类型,字符,数值,日期时间,RAW/LONGRAW,LOB,Oracle的数据类型,固定长度的字符串存储字母数字值长度:1-2000字节,字符数据类型,CHAR,VARCHAR2,LONG,可变长度字符串存储字母数字值长度:1-4000字节,NCHAR,NVARCHAR2支持国际字符集unicode码,可变长度字符数据最多能存储2GB,存储整数、浮点数和实数最高精度为38位NUMBER(p,s)P表示精度,S表示小数点的位数,存储日期和时间值,包括年、月、日、时、分、秒,数值数据类型NUMBER,时间数据类型DATE,Oracle的数据类型,LOB数据类型,Oracle的数据类型,又称为“大对象”数据类型,可以存储多达4GB的非结构化信息,例如声音剪辑和视频文件等允许对数据进行高效、随机、分段的访问分为CLOB:CharacterLOB(字符LOB),能存储大量字符数据BLOB:BinaryLOB(二进制LOB),能存储较大的二进制对象,如图形、视频剪辑和声音文件BFILE:BinaryFile(二进制文件),用于将二进制数据存储在数据库外部的操作系统文件中,存储二进制数据最多能存储2000字节,RAW数据类型,LONGRAW数据类型,Oracle的数据类型,存储可变长度的二进制数据最多能存储2GB,Oracle中伪列就像一个表列,但它并没有存储在表中伪列可以从表中查询,但不能插入、更新和删除它们的值常用的伪列有ROWID和ROWNUM,ROWID是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用ROWID伪列快速地定位表中的一行,ROWNUM是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数,Oracle的数据类型,本章内容导航,SQL简介Oracle的数据类型表定义语句表数据操纵语句表数据查询常用的SQL函数,表定义语句,数据定义语言用于改变数据库对象结构,包括创建、更改和删除数据库对象。用于操纵表结构的数据定义语句:CREATEALTERDROP,利用现有的表创建表:CREATETABLE表名ASSELECT列FROM表WHERE条件;,创建表语法:CREATETABLE表名(列名1数据类型默认值列级约束1,列名2数据类型默认值列级约束1,.,表级约束1.);,表定义语句,修改表语法:ALTERTABLE表名ADD列名数据类型默认值约束DROPCOLUMN列名MODIFY列名默认值约束ADDCONSTRAINT约束名DROPCONSTRAINT约束名;,删除表语法:DROPTABLE表名;,表定义语句,本章内容导航,SQL简介Oracle的数据类型表定义语句表数据操纵语句表数据查询常用的SQL函数,数据操纵语言用于插入、修改和删除数据。数据操纵语言包括:INSERT插入UPDATE修改DELETE(TRUNCATETABLE)删除,表数据操纵语句,表数据操纵语句,数据插入语句格式:INSERTINTO表名(字段名,字段名)VALUES(常量,常量);INSERTINTO表名(字段名,字段名)子查询;,注意事项:若表中有些字段在插入语句中没出现,则这些字段上取空值Null;在表定义中说明了NotNull的字段在插入时不能取Null,否则插入语句会执行失败;若插入语句中没有指出字段名,则新纪录必须在每个字段上均有值。,插入日期类型的数据使用日期数据类型的默认格式“DD-MON-YY”使用TO_DATE函数转换,INSERTINTOmy_table(date_col)VALUES(TO_DATE(2005-10-18,YYYY-MM-DD);,INSERTINTOorder_masterVALUES(o001,12-5月-05,V002,c,5-5月-2005);,表数据操纵语句,表数据操纵语句,数据删除语句格式:DELETEFROM表名WHERE条件;TRUNCATETABLE表名;,表数据操纵语句,数据修改语句格式:UPDATE表名SET字段=表达式,字段=表达式WHERE条件;在UPDATE语句中,一次只能对一个表更新。,本章内容导航,SQL简介Oracle的数据类型表定义语句表数据操纵语句表数据查询常用的SQL函数,表数据查询SELECT语句基本格式,SELECTALL|DISTINCT目标列FROM基本表(或视图)WHERE条件表达式GROUPBY列名HAVING内部函数表达式ORDERBY列名ASC|DESC;,选择列检索表中的所有列select*fromstu检索表中的指定列selectsno,snamefromstu使用计算列(+-*/)selectstotalcredit+10fromstu为结果集中的列指定别名(as可以省略)selectsnoas学号fromstu消除重复值distinctselectdistinctdeptfromstu,表数据查询简单查询,选择行(WHERE条件表达式),表数据查询简单查询,注意事项字符串和日期必须用单引号括起来字符串数据区分大小写日期数据格式敏感,默认格式是DD-MON-YY。LIKE查询条件中的字符串内,所有的字符都有效,包括开始和结尾的空格LIKE通配符%表示0或多个字符串;LIKE通配符_表示任何单个的字符。用逻辑操作符AND、OR和NOT来连接一系列表达式时,先求NOT表达式值,然后AND,最后是OR。当表达式中所有操作符优先级相同时,由左到右求值。,表数据查询简单查询,若查询涉及两个以上的表,称为连接查询。从多个表中选择指定的字段关键字JOIN指定要连接的表,以及这些表连接的方式关键字ON指定连接条件查询两个或多个表并生成单个结果集所有连接的表必须共同拥有某些字段,这些字段必须有相同的或兼容的数据类型如果连接的表有相同字段,则引用这些字段时必须指定表名可以给表取别名select*fromstut,表数据查询连接查询,连接类型交叉连接:crossjoin(不太用)内连接:innerJoin(最常用)外连接:左外连接:leftouterjoin右外连接:rightouterjoin全外连接:fullouterjoin自连接:selfjoin,表数据查询连接查询,selectR.*,S.*fromRinnerjoinSonR.C=S.C,S,selectR.*,S.*fromR,SwhereR.C=S.C,内连接,表数据查询连接查询,select*fromRleftouterjoinSonR.C=S.C,R,S,表数据查询连接查询,左外连接,selectR.A,R.B,S.*fromRrightouterjoinSonR.C=S.C,表数据查询连接查询,R,S,右外连接,selectR.*,S.*fromRfullouterjoinSonR.C=S.C,表数据查询连接查询,R,S,全外连接,自连接求每一课程的间接先行课(即先行课的先行课)SelectFirst.C,Second.PCFromCFirst,CSecondWhereFirst.PC=Second.C,First,Second,=,表数据查询连接查询,UNION将多个查询产生的结果集合并成一个结果集每一个查询必须有类似的数据:数据类型兼容、列数和列的顺序相同UNION与UNIONALL的区别UNION在进行表联接后会筛选掉重复的记录。UNIONALL只是简单的将两个结果合并后就返回。MINUS取一个查询语句的结果,消除同时出现在第二个查询语句中的行。INTERSECT只返回那些同时出现在两个查询语句中的行。,表数据查询集合运算符,一个查询语句嵌套在DML(SELECT、INSERT、UPDATE、DELETE)语句中,则该语句被称为子查询。何时使用当查询需要多个步骤才能完成时,可以使用子查询。分类嵌套子查询相关子查询,表数据查询子查询,IN子查询列名NOTIN子查询比较子查询列名=|!=|ALL|SOME|ANY子查询EXISTS子查询NOTEXISTS子查询,表数据查询子查询,EXISTS子查询举例:找出选修206号课程的学生姓名:SELECTsnameFROMstueWHEREEXISTS(SELECT*FROMscWHEREcno=206ANDsno=e.sno);,非空,True,取出放结果集,表数据查询子查询,本章内容导航,SQL简介Oracle的数据类型表定义语句表数据操纵语句表数据查询常用的SQL函数,常用的SQL函数,Oracle提供了一系列用于执行特定操作的函数SQL函数带有一个或多个参数并返回一个值常用的SQL函数单行函数:从表中查询的每一行只返回一个值,可以出现在SELECT子句中和WHERE子句中。常用的单行函数有:日期函数、字符函数、数字函数、转换函数等。分组函数:基于一组行来返回结果,为每一组行返回一个值。,日期函数对日期值进行运算,并生成日期数据类型或数值类型的结果,常用的SQL函数日期函数,字符函数接受字符输入并返回字符或数值,常用的SQL函数字符函数,常用的SQL函数字符函数,数字函数接受数字输入并返回数值结果,常用的SQL函数数字函数,转换函数将值从一种数据类型转换为另一种数据类型,常用的SQL函数转换函数,常用的SQL函数分组函数,分组函数基于一组行来返回结果,为每一组行返回一个值对包含空值的字段使用分组函数时,将忽略字段中的空值。count(*)将计算所有的行,即使每个字段都含有空值。,使用分组函数和groupby子句,能够把表中的记录分组,并对组中数据进行汇总对于指定的一组只生成一条记录,不返回详细信息不要对可包含空值的字段使用groupby子句,因为空值也将被当作一组select后面每一列,除了出现在分组函数中的列以外,都必须包含在在groupby子句中。在分组后,对字段或表达式指定搜索条件使用having子句。,常用的SQL函数分

温馨提示

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

评论

0/150

提交评论