>  기사  >  데이터 베이스  >  oracle中复杂sql查询语句详解 (1/4)

oracle中复杂sql查询语句详解 (1/4)

WBOY
WBOY원래의
2016-06-07 17:45:441314검색

1.查询语句的使用
使用 select语句和子查询(subquery)可以从一个或多个表,视图,实体试图中返回数据.
 
1.1相关子查询
可以将子查询(as subquery)或in或exists当成where的一个条件的一部分,这样的查询称为子查询
  .where中可以包含一个select语句的子查询
  .where中可以包含in,exists语句
  .最多可以嵌套16层
  .层次过多会影响性能
  [例]简单子查询实例
  查询是否有的专家既以研究所的名义来申请基金项目,又以大学系为单位申请项目
  (按规定只能以一个单位来申请)
  sql> create table univ_subject
  2    (
  3       name                 varchar2(12) not null,
  4       per_id                number     not null,
  5      dept_name       varchar2(20)            
  6    );
  sql> insert into univ_subject  values('gaoqianjing',1001,'信息工程系');
  sql> insert into univ_subject  values('wangbing',1002,'物理系');
  sql> insert into univ_subject  values('liming',1003,'化学系');
  ===============
   sql> create table  colle_subject
  2     (
  3              colle_name    varchar2(20),
  4              per_id              number
  5     );
  sql> insert into colle_subject values('电子研究所',1001);
  sql>  insert into colle_subject values('物理研究所',1005);
  ================
  sql> select name,per_id,dept_name from univ_subject where per_id in
  2    (select per_id from colle_subject);

  name            per_id   dept_name
  ------------          ---------     --------------------
  gaoqianjing  1001      信息工程系

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.