易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 学习:PL/SQL循序渐进全面学习教程

  课程五 子查询
  
  本课重点:
  1、在条件未知的情况下采用嵌套子查询
  2、用子查询做数据处理
  3、子查询排序
  
  注意:以下实例中标点均为英文半角
  
  一、概述:
  子查询是一种SELECT句式中的高级特性,就是一个SELECT语句作为另一个语句的一个段。我们可以利用子查询来
在WHERE字段中引用另一个查询来攻取值以补充其无法事先预知的子结果。
  子查询可以用在WHERE子句,HAING子句,SELECT或DELETE语句中的from 子句。
  注意:1、子查询必须在一对圆括号里。
  2、比较符号:>, =, 或者 IN.
  3、子查询必须出现在操作符的右边
  4、子查询不能出现在ORDER BY里  (试题中有时出现找哪行出错)
  二、子查询的执行过程:
  NESTED QUERY   MAIN QUERY
  SQL> SELECT dept_id            SQL> SELECT last_name, title
  2 from s_emp              2 from s_emp
  3 WHERE UPPER(last_name)=’BIRI’;   3 WHERE dept_id =
  这里 ,每个查询只运行一次。当然,子查询要首先被执行,大家设想一下,如果子查询中有一个以上的人的
LASTNAME为BIRI,会如何?-----会出错,因为不能用=来连接。
  ORA-1427: single-row subquery returns more than
  one row
  以上的查询也被称之为 单行子查询。
  DELECT子查询实例:
  delete from new_table where cata_time > to_date('19990901','yyyymmdd') and pro_name=(
  select pro_name from new_product where pro_addr in ('bj','sh'))
  三、子查询中的GROUP 函数的应用
  实例 1:
  SQL> SELECT last_name, title, salary
  2 from s_emp
  3 WHERE salary <
  4 (SELECT AVG(salary)
  5 from s_emp);
  实例2:
  选择出工资最高的员工的家庭住址:
  select emp_addr from employees where salary =
  (select max(salary) from employees);
  这是一个简单实用的例子,可以衍生出很多情况,在实际应用经常出现,请大家多多思考。
  实例3:
  SQL> SELECT dept_id, AVG(salary)
  2 from s_emp
  3 GROUP BY dept_id
  4 HAVING AVG(salary) >
  5 (SELECT AVG(salary)
  6 from s_emp
  7 WHERE dept_id = 32);
  子查询被多次执行,因为它出现在HAV


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

SQL Server Indexing(介紹SQL Server索引)

 5.2 Clustered Indexes(聚集索引) (page 122)
聚集索引決定了一個表數據的物理排列順序,所以,一個表隻能有一個聚集索引。圖5.1表示了一個聚集索引的結構。
Figure 5.1
The structure of a clustered index
一個聚集索引的最底& ......

六个建议防止SQL注入式攻击

 SQL注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有针对性的防治措施。
  一、 SQL注入攻击的简单示例。
  statement := "SELECT * from Users WHERE Value= " + a_variable + "
  上面这条语句是很普通的一条SQL语句,他主要实现的功能就是 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

课程 一 PL/SQL 基本查询与排序
  
  本课重点:
  
  1、写SELECT语句进行数据库查询
  
  2、进行数学运算
  
  3、处理空值
  
  4、使用别名ALIASES
  
  5、连接列
  
  6、在SQL PLUS中编辑缓冲,修改SQL SCRIPTS
  
  7、ORDER BY进行排序输出。
  
  8、使� ......

Oracle 学习:PL/SQL循序渐进全面学习教程

课程三 从多个表中提取数据
  
  本课重点:
  1、SELECT from 多个表,使用等连接或非等连接
  2、使用外连接OUTER JOIN
  3、使用自连接
  注意:以下实例中标点均为英文半角
  一、连接的概念:
  
  是指一个从多个表中的数据进行的查询。连接一般使用表的主键和外键。
  连接类型:
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号