比較子查詢
exists查詢
.說明:in子查詢用於進行乙個給定的值是否在子查詢中,當表示式與子查詢的某個值相等時,in謂詞返回true,否則返回false,若使用not,則返回結果的值剛好相反,格式如下:
表示式[
not]
in(子查詢)
例項:查詢選修課程號為206的學生情況:
select
*from xsb
where 學號 in
(select 學號 from cjb where 課程=
206)
例項:查詢未選修離散數學的學生學號和姓名
select 學號,姓名
from xsb
where 學號 in
(select 學號
from cjb
where 課程 notin(
select 課程號
from kcb
where 課程名=
'離散數學'
))
.這種子查詢可以認為是in子查詢的擴充套件,它使得表示式的值與子查詢的結果進行比較運算,格式為:
表示式 (子查詢)
說明:
all指定表示式要與子查詢結果集中的每乙個值都進行比較,當表示式與每個值都滿足比較的關係時,才返回true,否則返回false
some和any表示式只要與子查詢結果集中的某個值滿足比較關係,就返回true,否則就返回false
.例項:查詢比所有計算機系學生年齡都大的學生
select
*from xsb
where 出生日期<
all(
select 出生日期
from xsb
where 專業=
'計算機'
)
exists用於測試子查詢的結果是否為空表,空表返回false,不為空返回true;exists還可與not結合使用
[
not]
[exists
](子查詢)
例子:查詢選修206課程的學生姓名
select 姓名
from xsb
where
exists
(select
*from cjb
where 學號=xsb.學號 and 課程=『206』
)
資料庫子查詢
概念 當乙個查詢是另乙個查詢的條件時,這個查詢稱之為子查詢 內層查詢 主要有以下三種表現形式 1.select 列 from 子查詢 2.select 列 from 表 where 列 比較運算子 子查詢 3.select 列 from 表 left join 子查詢 left join 子查詢 字...
資料庫多表查詢 子查詢
子查詢 查詢中巢狀查詢,稱巢狀巢狀查詢為子查詢 下面要使用的表如下,放在此處便於更好地理解 emp 員工資訊表 dept 部門表 例 查詢公司員工工資最高的員工資訊 首先要得到公司員工的最高工資的值 select max salary from emp 假設查詢結果為10000然後根據上一句sql語...
資料庫的子查詢
1 子查詢 使用子查詢是指,在乙個select語句中還巢狀著另乙個select語句 示例 select cust id from orders where order num in select order num from orderitems where prod id rgan01 注意 作為...