子查询是指S E L E C T语句嵌套在另一个 S Q L语句中。 子查询的两种形式: 数据集合 行级 子查询可带来很好的可读性效果。
子查询——数据集合
数据集合的子查询--->视图
SELECT a.title_id, a.title,b.qty FROM titles a,(SELECT title_id,qty FROM sales WHERE qty > 30) b where a.title_id = b.title_id
效率高,可读性好,推荐
子查询中的列名尽量简化 可同以下语句比较: 我执行的效率是一样的,但建议优先选用子查询的写法。
SELECT a.title_id, a.title,b.qty FROM titles a,sales b where a.title_id = b.title_id and b. qty > 30
子查询——行级
行级的子查询
SELECT title_id, title,(select top 1 qty FROM sales b where a.title_id = b.title_id and b.qty > 30 order by title_ID) as qty FROM titles a
可读性好 效率不高 不推荐
建议:变形为数据集合的子查询
SELECT a.t