如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第8章Oracle支持的SQLOracle的DML包括4条语句INSERTUPDATEDELETEMERGE使用VALUES子句的INSERT语句INSERTINTOtable[(column_1[,column_2,...])]VALUES(sql_expression_1[,sql_expression_2,...]);插入空值(1)在INSERTINTO子句的table后不指定该列名,默认情况下该列取空值(2)在VALUES子句中使用NULL作为列的值使用子查询的INSERT语句INSERTINTO<表名>(<列名>,<列名>,...)SELECT<列名>,<列名>,...FROM<表名>;常见的数据插入错误(1)没有对强制为非空(NOTNULL)的列赋值(2)对唯一性索引列(包括主键)插入重复值(3)违反参照完整性(插入了被参照表中主键列不存在的外键值)(4)违反检查(CHECK)约束(5)数据类型不匹配,且系统不能完成自动类型转换(6)值太大,超出列定义的表示范围UPDATE语句语法如图指定被更新表的语法设置更新值的语法使用子查询从其他表获取数据作为列的新值UPDATE<表名>SET(<列名>,<列名>,...)=(SELECT<列名>,<列名>,...FROM<表名>WHERE<条件>)WHERE<列名或列表达式><比较运算符>(SELECT<列名>FROM<表名>WHERE<条件>);DELETE语句语法DELETE[FROM][schema.]{table[{PARTITION(partition)|SUBPARTITION(subpartition)}|@dblink]|{view|materializedview}[@dblink]}[WHEREcondition];用于将一个表的数据合并到另一个表中4.MERGE语句5.事务控制命令SELECT语句完成如下运算:1.SELECT语句1.SELECT语句1.SELECT语句1.SELECT语句1.SELECT语句2.虚表与伪列3.表的连接3.表的连接3.表的连接3.表的连接4.子查询4.子查询例8.15查询哪些雇员的工资高于他所在部门的平均工资。EXA_08_15.SQL简单子查询简单子查询相关子查询SELECT语句中的集合运算包括并(UNION)、交(INTERSECT)、差(MINUS)所有集合运算符具有相同的优先级按照从左(上)至右(下)的顺序执行可使用括号改变运算的优先级并运算符(UNION)UNION:返回多个查询中消除重复行以后的结果UNIONALL:返回每个查询语句得到的结果行不消除多个查询得到结果中的重复行并运算符在重复数据检查时不忽略空值(NULL)差运算符(MINUS)MINUS运算返回在第一个查询语句的结果集中却不在第二个查询语句的结果集中的所有记录行差运算(MINUS)不忽略空值SELECT...FROMtable_nameWHEREconditionSTARTWITHcolumn='value'CONNECTBYPRIOR父主键=子外键;可用LPAD函数配合LEVEL伪列在查询结果的左边添加空格等字符,形成缩进结构的树形样式使用with子句定义内容需要重复使用的查询块8.3Oracle支持的SQL函数单行函数可以出现在SELECT语句的SELECT子句WHERE子句ORDERBY子句STARTWITH子句CONNECTBY子句数值函数接受数值型输入数据,并返回数值型的结果字符函数日期函数1.单行函数1.单行函数1.单行函数1.单行函数2.分组函数2.分组函数3.DateTime函数3.DateTime函数4.OLAP函数8.4用于数据分析的SQL1.多表插入与旋转插入1.多表插入与旋转插入2.Top-n查询3.ROLLUP与CUBE3.ROLLUP与CUBE3.ROLLUP与CUBE3.ROLLUP与CUBE