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 資訊工程系