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

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

课程三 从多个表中提取数据
  
  本课重点:
  1、SELECT from 多个表,使用等连接或非等连接
  2、使用外连接OUTER JOIN
  3、使用自连接
  注意:以下实例中标点均为英文半角
  一、连接的概念:
  
  是指一个从多个表中的数据进行的查询。连接一般使用表的主键和外键。
  连接类型:
  等连接、不等连接、外连接、自连接
  二、Cartesian product :
  指的是当JOIN条件被省略或无效时,所有表的行(交叉)都被SELECT出来的现象。
  Cartesian product可以产生大量的记录,除非是你有意如此,否则应该加上某种条件限制。
  SQL> SELECT name, last_name
  2 from s_dept, s_emp;
  300 rows selected. 其中一个表12行,一个表25行。
  
  三、简单连接查询:
  SELECT table.column, table.column...
  from table1, table2
  WHERE table1.column1 = table2.column2;
  
  如:SQL> SELECT s_emp.last_name, s_emp.dept_id,
  2 s_dept.name
  3 from s_emp, s_dept
  4 WHERE s_emp.dept_id = s_dept.id;
  注意:表前缀的重要性:
  SQL> SELECT s_dept.id ”Department ID”,
  2 s_region.id ”Region ID”,
  3 s_region.name ”Region Name”
  4 from s_dept, s_region
  5 WHERE s_dept.region_id = s_region.id;
  在WHERE 段中,如果没有前缀,两个表中都有ID字段,就显得的模棱两可,AMBIGUOUS。
  这在实际中应该尽量避免。
  WHERE 字段中,还可以有其他的连接条件,如在上例中,加上:
  INITCAP(s_dept.last_name) = ’Menchu’;
  再如:WHERE s_emp.dept_id = s_dept.id AND s_dept.region_id = s_region.id AND s_emp.commission_pct > 0;
  
  四、表别名ALIAS:
  1、使用别名进行多表查询 。
  2、仅在这个查询中生效,一旦用了表别名,就不能再用表的原有的名字进行连接。
  实例:
  SQL> SELECT c.name ”Customer Name”,
  2 c.region_id ”Region ID”,
  3 r.name ”Region Name”
  4 from s_customer c, s_region r
  5 WHERE c.region_id = r.id;
  别名最多可以30个字符,但当然越少越好。最好也能容易识别。
  五、非等连接
  非等连接一般用在没有明确的等


相关文档:

oracle 表空间操作

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

Oracle查詢歷史操作記錄

 1.以sysdba身份進入
 2.show parameter audit
 3.alter system set audit_sys_operations = true scope = spfile
 4.alter system set audit_trail = db,extended scope = spfile
 5.startup force
 6.show parameter audit
 7.audit select table,insert table,delete ta ......

Vista下安装SQL SERVER 2005 EXPRESS

 Vista出了名的兼容性问题多,很多人也苦于SQL SERVER不能安装在Vista下。现在我将自己的安装过程说下:
操作系统:Windows Vista Home Basic
处理单元:Inter P8600 2.40GHz
主存储器:2G
外存储器:250G
软件准备:(都可以在微软官方网站找到,均免费)
    1.SQL SERVER 2005 EXPRESS(40.6M ......

关于oracle中使用nvl函数时,对空字符串的理解

 昨天下班之前在程序中遇到了一个使用nvl的sql语句,相信这个函数大家都应该使用过,并且应该是很简单的。
因为之前做的数据库移植时遇到过这个问题,所以今天拿来在这里记载一下。
其中有一段where条件是这样的:
and ((nvl('', ' ') <> ' ' and a.benifitvchno like '%%') or
    &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号