8章Oracle资料学习

上传人:xkh****321 文档编号:244195782 上传时间:2024-10-03 格式:PPTX 页数:35 大小:272.36KB
返回 下载 相关 举报
8章Oracle资料学习_第1页
第1页 / 共35页
8章Oracle资料学习_第2页
第2页 / 共35页
8章Oracle资料学习_第3页
第3页 / 共35页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,第8章,子,子,查,查询与,高,高级查,询,询,本章要,点,点:,掌握在WHERE子,句,句中使,用,用子查,询,询。,掌握在HAVING,子,子句中,使,使用子,查,查询。,熟练掌,握,握使用IN、ANY,和,和ALL操作,符,符实现,子,子查询,。,。,熟练掌,握,握关联,子,子查询,。,。,熟练掌,握,握嵌套,子,子查询,。,。,掌握简,单,单连接,。,。,熟练掌,握,握多个,表,表之间,的,的内连,接,接。,熟练掌,握,握多个,表,表之间,的,的外连,接,接。,了解多,个,个表之,间,间的交,叉,叉连接,。,。,掌握使,用,用集合,操,操作符,实,实现集,合,合查询,。,。,2,8.1,子,子,查,查,询,询,在外部,的,的SELECT、UPDATE或DELETE,语,语句内,部,部使用SELECT,语,语句,,这,这个内,部,部SELECT语句,称,称为子,查,查询(Subquery),。,。,使用子,查,查询,,主,主要是,将,将子查,询,询的结,果,果作为,外,外部主,查,查询的,查,查找条,件,件。,3,8.1,.,.1,子,子查,询,询的类,型,型,在子查,询,询中可,以,以使用,两,两种比,较,较操作,符,符,单,单行操,作,作符和,多,多行操,作,作符。,单行操,作,作符:,例,例如=,、,、,=、,、,=,=、,、!,=,=。,多行操,作,作符:,例,例如ALL、ANY,、,、IN,、,、EXISTS。,可以把,子,子查询,分,分为两,种,种类型,:,:,单行子,查,查询和,多,多行子,查,查询。,另外,,子,子查询,还,还有下,面,面3种,子,子类型,,,,这3,种,种子类,型,型可以,返,返回一,行,行或多,行,行查询,结,结果。,多列子,查,查询:,向,向外部,的,的SQL语句,返,返回多,列,列。,关联子,查,查询:,引,引用外,部,部的SQL语,句,句中的,一,一列或,多,多列。,在,在关联,子,子查询,中,中,可,以,以使用EXISTS,和,和NOT EXISTS操,作,作符。,嵌套子,查,查询:,在,在子查,询,询中包,含,含有子,查,查询。,指定子,查,查询时,,,,需要,注,注意以,下,下几点,:,:,子查询,需,需要使,用,用括号,(,(,),)括,起,起来。,子查询,要,要放在,比,比较操,作,作符的,右,右边。,当子查,询,询的返,回,回值是,一,一个集,合,合而不,是,是一个,值,值时,,不,不能使,用,用单行,操,操作符,,,,而必,须,须根据,需,需要使,用,用ANY、IN、ALL或EXISTS,等,等操作,符,符。,4,8.1,.,.2,在,在WHERE子句,中,中使用,子,子查询,1使,用,用子查,询,询,在WHERE,子,子句中,使,使用子,查,查询的,一,一般用,法,法形式,如,如下:,SELECTcolumn_listFROMtable_name WHERE expressionoperator,(,(,SELECTcolumn_nameFROMtable_name WHERE condition,GROUPBYexpHAVING having),;,;,其中,,在,在外部SELECT,语,语句的WHERE子,句,句中,expression用来,指,指定一,个,个表达,式,式,也,可,可以是,表,表中的,一,一列;operator可,以,以是单,行,行和多,行,行操作,符,符;(,),)中的,内,内容表,示,示子查,询,询内容,。,。,5,8.1,.,.2,在,在WHERE子句,中,中使用,子,子查询,2不能,使,使用ORDERBY子句,在子查,询,询的SELECT语句中,,,,可以,使,使用FROM子句、WHERE子句、GROUPBY子句和HAVING子句等,,,,但是,有,有些情,况,况下不,能,能使用ORDERBY子句,,例,例如在WHERE子句中,使,使用子,查,查询时,,,,子查,询,询语句,中,中就不,能,能使用ORDERBY子句。,6,8.1,.,.3,在,在HAVING子,句,句中使,用,用子查,询,询,在SELECT语句,中,中使用HAVING,子,子句,,可,可以实,现,现对数,据,据进行,分,分组过,滤,滤。在HAVING,子,子句中,,,,如果,使,使用子,查,查询,,那,那么就,可,可以实,现,现对子,查,查询返,回,回的结,果,果根据,分,分组进,行,行过滤,。,。,【例8,.,.3】对scott,用,用户的emp,表,表进行,检,检索,,在,在HAVING子句,中,中使用,子,子查询,。,。获取,哪,哪些部,门,门的员,工,工平均,工,工资小,于,于全体,员,员工的,平,平均工,资,资。具,体,体如下,:,:,SQL,SELECTdeptno,AVG,(,(sal)FROM scott.empGROUPBYdeptno,2HAVINGAVG(sal),、,、,、,SELECTempno,ename,sal,deptno FROMscott,.,.emp,2WHEREsal,(,(,3SELECT MAX(AVG,(,(sal)FROMscott.empWHEREdeptno IN(,4SELECTdeptnoFROMscott.dept,5WHERE locIN,(,(NEWYORK,CHICAGO),),),6GROUPBYdeptno),;,;,EMPNOENAMESALDEPTNO,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,7566JONES297520,7788SCOTT300020,7839KING500010,7902FORD300020,16,8.1,.,.10,在,在UPDATE,和,和DELETE语句,中,中使用,子,子查询,1在UPDATE,语,语句中,使,使用子,查,查询,在UPDATE语句,中,中使用,子,子查询,,,,可以,将,将子查,询,询返回,的,的结果,赋,赋值给,需,需要更,新,新的列,。,。,【例8,.,.17,】,】将员工,编,编号为7839的员,工,工的工,资,资设置,为,为平均,工,工资,,如,如下:,SQL,UPDATEscott.empSET sal,=,=(,2SELECT AVG(sal,),)FROMscott,.,.emp),3WHEREempno,=,=7839,;,;,已更新1,行,行。,2在DELETE,语,语句中,使,使用子,查,查询,在DELETE语句,中,中使用,子,子查询,,,,可以,根,根据子,查,查询返,回,回的结,果,果删除,指,指定的,行,行。,【例8,.,.18,】,】删除工,作,作地点,在,在NEW YORK,的,的所有,员,员工信,息,息,如,下,下:,SQL,DELETEFROM scott.empWHEREdeptnoIN,(,(,2SELECT deptnoFROM scott.deptWHEREloc=,NEWYORK),;,;,已删除3行。,17,8.2实验指,导,导获取借,阅,阅次数,最,最多的,前,前5本图书,实验指,导,导8-1:获,取,取借阅,次,次数最,多,多的前5本图,书,书,由于需,要,要显示,图,图书信,息,息,所,以,以从图,书,书表book,中,中进行,检,检索;,然,然后结,合,合借书,表,表lend,,获,获得每,本,本书的,借,借阅情,况,况;最,后,后按照,每,每本书,的,的借阅,次,次数降,序,序排列,,,,获得,前,前5本,图,图书信,息,息即可,。,。具体,如,如下:,参见教,材,材P182,上述语,句,句中,,在,在最外,层,层SELECT语句,的,的WHERE,子,子句中,使,使用了,子,子查询,,,,并且,使,使用IN操作,符,符指定,匹,匹配查,询,询;第3行的SELECT,语,语句中,,,,在FROM,子,子句中,使,使用子,查,查询,,通,通过子,查,查询获,得,得分组,和,和排序,之,之后的bookid,;,;最后,在,在WHERE,子,子句中,指,指定rownum列,小,小于等,于,于5,,指,指定排,序,序之后,的,的前5,行,行记录,。,。,18,8.3,高,高,级,级,查,查 询,检索数,据,据时,,通,通过各,个,个表之,间,间共同,列,列的关,联,联性,,可,可以查,询,询存放,在,在多个,表,表中的,不,不同实,体,体的信,息,息。,如果在,查,查询时,需,需要对,多,多个表,进,进行操,作,作,并,且,且指定,多,多个表,的,的连接,关,关系,,则,则该查,询,询就称,为,为高级,查,查询,,也,也可以,称,称为连,接,接查询,。,。,19,8.3,.,.1,使,使用,等,等号(,=,=)实,现,现多个,表,表的简,单,单连接,在连接,查,查询中,,,,如果,仅,仅仅通,过,过SELECT子句,和,和FROM子,句,句连接,多,多个表,,,,那么,查,查询的,结,结果将,是,是一个,通,通过笛,卡,卡儿积,所,所生成,的,的表。,【例8,.,.19,】,】使用SELECT子,句,句和FROM,子,子句,,从,从scott,用,用户的emp,表,表和dept,表,表中检,索,索数据,,,,如果,不,不指定,检,检索条,件,件,将,得,得到56行记,录,录。具,体,体如下:,参见教,材,材P183,由于scott.emp表,中,中有14行记,录,录,scott.dept,表,表中有4行记,录,录,所,以,以笛卡,儿,儿积所,生,生成的,表,表一共,有,有56,(,(14,*,*4=56,),)行记,录,录。,20,8.3,.,.2,使,使用,表,表的别,名,名,设置表,的,的别名,,,,只需,要,要在FROM,子,子句中,引,引用该,表,表时,,将,将表别,名,名跟在,表,表的实,际,际名称,后,后面即,可,可。表,别,别名和,表,表的实,际,际名称,之,之间使,用,用空格,进,进行分,隔,隔。,【例8,.,.21,】,】使用表,别,别名的,方,方式,,重,重写例8.20中所,示,示的语,句,句。为scott.emp,表,表设置,表,表别名,为,为e,,为,为scott,.,.dept表,设,设置表,别,别名为d。语,句,句如下,:,:,SQL,SELECTempno,ename,sal,e.deptno,d,.,.deptno,dname,2FROM scott.empe,scott,.,.deptd,3WHEREe.deptno,=,=d,.,.deptno;,21,8.3,.,.3,使,使用INNERJOIN实现,多,多个表,的,的内连,接,接,在FROM子,句,句中,,使,使用JOIN,连,连接的,语,语法形,式,式如下,:,:,FROM join,_,_table1 join,_,_typejoin_table2,ON(join_condition,),),join,_,_type,.,.ONjoin_condition,.,.,语法说,明,明如下,。,。,join_table1、join_table2:,参,参与连,接,接操作,的,的表名,。,。,join_type,:,:连接,类,类型,,连,连接类,型,型有INNER JOIN,(,(内连,接,接)、OUTERJOIN(外,连,连接),和,和CROSSJOIN(,交,交叉连,接,接)。,join_condition:,连,连接条,件,件,由,被,被连接,表,表中的,列,列和比,较,较运算,符,符、逻,辑,辑运算,符,符等构,成,成。可,以,以使用,多,多组join,_,_type,ON join,_,_condition,子,子句,,实,实现多,个,个表的,连,连接。,22,8.3,.,.3,使,使用INNERJOIN实现,多,多个表,的,的内
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!