首页 理论教育嵌套查询解析与比较运算符的使用

嵌套查询解析与比较运算符的使用

【摘要】:嵌套查询的求解方法是由里向外处理,即每个子查询在其上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。谓词IN是嵌套查询中最常使用的谓词。查询与王婷在同一个系的学生的学号、姓名和系名。SELECT Sno,Sname,SdeptFROM StudentWHERE Sdept IN;带有比较运算符的子查询带有比较运算符的子查询是指父查询与子查询之间用比较运算符进行连接。

①查询块:一个SELECT—FROM—WHERE语句称为一个查询块。

嵌套查询:将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语条件中的查询称为嵌套查询或子查询。

嵌套查询的求解方法是由里向外处理,即每个子查询在其上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。

(1)带有IN谓词的子查询

带有IN谓词的子查询是指父查询与子查询之间用谓词IN进行连接,判断某个属性列值是否在子查询的结果中。谓词IN是嵌套查询中最常使用的谓词。

【例6.30】 查询与王婷在同一个系的学生的学号、姓名和系名。

SELECT Sno,Sname,Sdept

FROM Student

WHERE Sdept IN

(SELECT Sdept

FROM Student

WHERE Sname=′王婷′);(www.chuimin.cn)

(2)带有比较运算符的子查询

带有比较运算符的子查询是指父查询与子查询之间用比较运算符进行连接。

注意:子查询一定要跟在比较运算符之后。

【例6.31】 查询与070801101号学生年龄相同的学生的学号、姓名和所在系。

SELECT Sno,Sname,Sdept

FROM Student

WHERE Sage=

(SELECT Sage

FROM Student

WHERE Sno=′070801101′);