数据库—子查询制作案例
1、概念:例子:查询A 是 查询 B 中查询要素的某部分时,我们称 A 是 B 的子查询
2、备注:查询可以出现在: 1 字段(Select 字句,甚至 Order By 字句), 2 表的 位置, 3 关系等式(包括where, 表关系,甚至 case when语句)等等。
3、使用子查询的原则:
1.一个子查询必须放在圆括号中。
2.将子查询放在比较条件的右边以增加语句可读性
3.子查询不包含Order BY子句,对一个SELECT语句只能用一个 ORDERBY 子句,并且如果指定了它就必须放在主SELECT语句的最后。 ORDER BY子句可以使用,并且在进行 Top-N分析时候是必须的
4.在子查询中可以使用两种比较条件:单行运算符和多行运算符
5.如果子查询返回多个值,不能使用=<,<>,>=而用IN
4、句型:SELECT {表1.显示字段}, {子查询1.显示字段}, {子查询1.显示字段} FROM {表1} LEFT JOIN {子查询1} ON {主表1.连接字段 = 子查询1. 连接字段}
5、示例:要求:查出所有的ItmID和ItmName和此物料的库存的信息
SELECT TB.ItmID, TB.ItmName, S.OnHand
FROM MDItm TB
LEFT JOIN
(SELECT TD.ItmID, Sum(TD.OnHand) AS OnHand
FROM BCStk TD
GROUP BY TD.ItmID) S ON TB.ItmID = S.ItmID
6、结果:①.查询库存量的子查询②.子查询结果

1、在ERP程序中有很多使用子查询的实例,特别在库存类报表中有很多实例。示例一:库存状态表:
