SQL資料查詢之巢狀查詢中的帶IN子查詢

2022-08-27 19:24:08 字數 815 閱讀 8035

例如:

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...