一、介绍子查询(Subquery)
以检视表为基础的技术,将建立检视表的SELECT叙述写入FROM子句中子查询的SELECT叙述在执行完毕后会立即被消除需要赋予子查询一个名称,用过即被捨弃二、建立子查询
延续上一篇中建立的foodsum检视表,与子查询来做比较
建立检视表--建立foodsum检视表-- CREATE VIEW foodsum ( food_catalg, count_food)ASSELECT food_catalg, count(*)FROM foodGROUP BY food_catalg;--确认检视表资料内容—SELECT food_catalg , count_foodFrom foodsum;
建立子查询foodsumSELECT food_catalg , count_foodFROM(SELECT food_catalg, count(*) AS count_foodFROM foodGROUP BY food_catalg) AS foodsum; --AS foodsum为赋予此子查询的名称,也是用过即捨弃的名称--
这两种方法执行结果是一样的
三、纯量子查询 : 只能回传单栏位或单笔记录
一样使用food资料表
Q:想知道售出单价低于全部早餐品项平均贩售单价的食物
1平均早餐单价的纯量子查询
SELECT AVG(sell_price)From food--执行结果为26--
2筛选售出单价低于全部早餐品项平均贩售单价的食物
SELECT food_id , food_name , sell_priceFROM foodWHERE sell_price < (SELECT AVG(sell_price)From food); /--------此部分会变换成26-------/
执行结果 : 小于26的sell_price