子查询
假如现在存在三张表(表名分别是t_book,t_booktype,t_pricelevel)



带 In 关键字的子查询
一个查询语句的条件可能落在另一个 SELECT 语句的查询结果中。
SELECT * FROM t_book WHERE booktypeId IN (SELECT id FROM t_booktype);
结果为:

SELECT * FROM t_book WHERE booktypeId NOT IN (SELECT id FROM t_booktype);
结果为:

带比较运算符的子查询
子查询可以使用比较运算符。
SELECT * FROM t_book WHERE price>=(SELECT price FROM t_pricelevel WHERE priceLevel=1);
结果为:

带 Exists 关键字的子查询
假如子查询查询到记录(返回为true),则进行外层查询,否则,不执行外层查询;
SELECT * FROM t_book WHERE EXISTS (SELECT * FROM t_booktype);
结果为:

带 Any 关键字的子查询
ANY 关键字表示满足其中任一条件;
SELECT * FROM t_book WHERE price>= ANY (SELECT price FROM t_pricelevel);
结果为:

带 All 关键字的子查询
ALL 关键字表示满足所有条件;
SELECT * FROM t_book WHERE price>= ALL (SELECT price FROM t_pricelevel);
结果为:
