例如:
select sname /*外層查詢或父查詢*/
from student
where sno in
(select sno
from sc /*內層查詢或子查詢*/
where cno=『2』);
說明: 1.子查詢的select語句中不能使用order by子句,order by子句只能對最終查詢結果排序。
2.巢狀查詢使使用者可以用多個簡單查詢構成複雜的查詢,從而增強sql的查詢能力。以層層巢狀的方式來構造程式正是sql中的『結構化』的涵義所在。
① 確定劉晨所在的系名
select sdept from student where sname=『劉晨』;
結果為cs
② 查詢所在cs系學習的學生
select sno,sname,sdept /*建議每個列名都加上表名*/
from student
where sdept=『cs』
將第一步查詢嵌入到第二步查詢條件中,構成巢狀查詢如下:
select student.sno,student.sname,student.sdept
from student
where sdept in
(select sdept
from student
where sname=『劉晨』);
子查詢的查詢條件不依賴父查詢,稱為不相關子查詢。
SQL 資料查詢
一 簡單查詢 1.查詢所有字段 select from 表名 查詢所有學生的資訊 select from student查詢指定字段 可視為投影運算 select 字段列表 逗號隔開 from 表名 查詢班級 姓名 學號資訊 select sclass,snumb,sname from studen...
sql查詢之巢狀查詢
巢狀查詢也叫子查詢,乙個select語句的查詢結果能夠作為另外乙個語句的輸入值。子查詢不但可以出現在where子句中,也能出現在from中作為乙個臨時表使用,而且還可以出現在select list中,作為乙個欄位值來返回。1 單行子查詢 單行子查詢的返回值只有一行資料。可以再主查詢語句的條件語句中引...
SQL資料查詢 子查詢 多表查詢
user info表 user info表 create table user info id int 2 primary key,user name varchar 12 unique password varchar 15 not null real name varchar 8 not nul...