汤阳光_Oracle课程文档(二).docVIP

  • 1
  • 0
  • 约7.61千字
  • 约 51页
  • 2019-04-05 发布于陕西
  • 举报
集合运算 集合运算的类型与集合运算符 UNION/UNION ALL 并集 INTERSECT 交集 MINUS 差集 并集(Union与Union All) 并集(Union) UNION运算符返回两个集合去掉重复元素后的所有记录。 示例:显示员工当前和之前的工作情况,每次记录显示一次。 并集(Union All) UNION ALL 返回两个集合的所有记录,包括重复的。 示例:使用Union All:显示所有员工当前和之前的部门信息。 交集(Intersect) INTERSECT 运算符返回同时属于两个集合的记录。 示例:使用INTERSECT运算符,显示薪水同时位于级别1(700~1300)和级别2(1201~1400)的员工信息。 差集(Minus) MINUS返回属于第一个集合,但不属于第二个集合的记录。 使用Minus运算符:显示薪水位于级别1(700~1300),但不属于级别2(1201~1400)的员工信息。 集合运算的注意事项 select语句中参数类型和个数要一致。 可以使用括号改变集合执行的顺序 如果有order by子句,必须放到每一句查询语句后 集合运算采用第一个语句的表头作为表头 多表查询 基础(相关说明与笛卡尔积) 从多个表中获取数据 笛卡尔集 笛卡尔集会在下面条件下产生: 省略连接条件 连接条件无效 所有表中的所有行互相连接 为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件。 在实际运行环境下,应避免使用笛卡尔全集。 连接的类型 Oracle 连接: Equijoin:等值连接 Non-equijoin:不等值连接 Outer join:外连接 Self join:自连接 SQL: 1999 Cross joins Natural joins Using clause Full or two sided outer joins Oracle的连接查询 语法 使用连接在多个表中查询数据。 在 WHERE 字句中写入连接条件。 在表中有相同列时,在列名之前加上表名前缀 等值连接 多个连接条件与 AND 操作符 没有写SQL示例 没有写SQL示例 区分重复的列名 使用表名前缀在多个表中区分相同的列。 在不同表中具有相同列名的列可以用表的别名加以区分。 使用表的别名 使用别名可以简化查询。 使用表名前缀可以提高执行效率。 如果使用了表的别名,则不能再使用表的真名。 连接多个表 连接 n个表,至少需要 n-1个连接条件。 例如:连接三个表,至少需要两个连接条件。 非等值连接 外连接 外连接语法 使用外连接可以查询不满足连接条件的数据。 外连接的符号是 (+)。 示例: 自连接 示例: SQL99标准的连接查询 使用连接从多个表中查询数据 使用连接从多个表中查询数据: 叉集 使用CROSS JOIN 子句使连接的表产生叉集。 叉集和笛卡尔集是相同的。 自然连接 NATURAL JOIN 子句,会以两个表中具有相同名字的列为条件创建等值连接。 在表中查询满足等值条件的数据。 如果只是列名相同而数据类型不同,则会产生错误。 示例: 使用 USING 子句创建连接 在NATURAL JOIN 子句创建等值连接时,可以使用 USING 子句指定等值连接中需要用到的列。 使用 USING 可以在有多个列满足条件时进行选择。 不要给选中的列中加上表名前缀或别名。 NATURAL JOIN 和 USING 子句经常同时使用。 使用ON 子句创建连接 自然连接中是以具有相同名字的列为连接条件的。 可以使用 ON 子句指定额外的连接条件。 这个连接条件是与其它条件分开的。 ON 子句使语句具有更高的易读性。 ON 子句 使用 ON 子句创建多表连接 内连接和外连接(2) 在SQL: 1999中,内连接只返回满足连接条件的数据 两个表在连接过程中除了返回满足连接条件的行以外还返回左(或右)表中不满足条件的行 ,这种连接称为左(或右) 外联接。 两个表在连接过程中除了返回满足连接条件的行以外还返回两个表中不满足条件的行 ,这种连接称为满外联接。 左外联接 右外联接 满外联接 处理数据(DML) 数据控制语言(DML) DML(Data Manipulation Language – 数据操作语言) 可以在下列条件下执行: 向表中插入数据 修改现存数据 删除现存数据 事务是由完成若干项工作的DML语句组成的 插入数据 INSERT 语句语法 使用 INSERT 语句向表中插入数据。 使用这种语法一次只能向表中插入一条数据。 插入数据 为每一列添加一个新值。 按列的默认顺序列出各个列的值。 在 INSERT 子句中随意列出列名和他们的值。 字符和日期型数据应包含在单引号中。 例: 向表中插入空值 隐式方式: 在

文档评论(0)

1亿VIP精品文档

相关文档