合肥建行网站,舟山网站建设,手机应用软件开发app,301跳转wordpress查找与“张小林”在同一个省市的其他客户情况。
select * from CustomerInfo where [所在省市] in
( SELECT [所在省市] from CustomerInfo where [客户姓名]张小林 )
这样查询的结果记录有张小林#xff0c;题目是其他客户情况。
可以使用子查询来判断不是一个人。
SELE…查找与“张小林”在同一个省市的其他客户情况。
select * from CustomerInfo where [所在省市] in
( SELECT [所在省市] from CustomerInfo where [客户姓名]张小林 )
这样查询的结果记录有张小林题目是其他客户情况。
可以使用子查询来判断不是一个人。
SELECT * from CustomerInfo a WHERE [所在省市] IN
(SELECT [所在省市] FROM CustomerInfo b
WHERE b.[客户姓名]张小林 and a.[客户编号] b.[客户编号])
查找未订购“食品”类商品的客户情况。
SELECT * #查询没订购食品类的客户情况
FROM CustomerInfo
WHERE 客户编号 NOT IN
( SELECT 客户编号 #查询了订购食品类 的客户编号FROM OrderList WHERE 商品编号 IN ( SELECT [商品编号] #查询食品类的编号FROM GoodsInfo WHERE 商品类别 食品 ) )
带比较运算符的子查询 在OrderList表中查找订购了商品编号为“10010001”的商品、且订购数量超过全表中该商品平均订购数的记录。
select * from OrderList #查询10010001的大于平均订购数量的记录where [商品编号] 10010001AND 数量
(select AVG([数量]) from OrderList
where [商品编号] 10010001) #查询10010001的平均订购数量 找出每个客户超过他订购商品平均数量的商品编号。
select [客户编号],[商品编号] from OrderList awhere 数量(select AVG (数量) from OrderList b where b.[客户编号]a.[客户编号] ) 这是一个相关子查询内层查询的条件a.客户编号b.客户编号与外层查询有关。内层查询是求一个客户订购商品数量的平均值至于要求的是哪个客户的平均值是由外层查询当前正处理的元组来决定的。 带ALL(SOME)或ANY谓词的子查询 ALL 指定表达式要与子查询结果集中的每个值都进行比较当表达式与每个值都满足比较关系时才返回 TRUE 否则返回 FALSE 。 • ANY 与 SOME 的限制含义相同通常采用 ANY 表示表达式只要与子查询结果集中的某个值满足比较关系时就返回 TRUE 否则返回 FALSE 。 查找比所有食品类的商品单价都低的商品信息。 SELECT * from GoodsInfo WHERE
[商品类别] 食品 AND [单价] all
(
SELECT [单价] from GoodsInfo where [商品类别] 食品) 查找比某个食品类的商品单价低的商品信息。 SELECT * from GoodsInfo WHERE [商品类别] 食品 AND [单价] any(
SELECT [单价] from GoodsInfo where [商品类别] 食品) 带EXISTS谓词的子查询 EXISTS谓词用于测试子查询的结果是否为空表。若子查询的结果集不空则EXISTS返回TRUE否则返回FALSE。 EXISTS还可与NOT结合使用即NOT EXISTS其返回值与EXIST刚好相反。 查找订购了编号为“10010001”商品的客户姓名。 SELECT [客户姓名] from CustomerInfo a
where EXISTS (select * from OrderList b where b.[客户编号] a.[客户编号]
and b.[商品编号]10010001) 查询至少订购了编号为“100001”的客户所订购的全部商品的客户编号。 SELECT DISTINCT 客户编号 #从OrderList表中选择不重复的客户编号并给这个表指定了一个别名a
FROM OrderList a WHERE NOT EXISTS( SELECT *FROM OrderList b WHERE b.客户编号100001 #排除客户编号为100001的客户AND NOT EXISTS( SELECT *FROM OrderList c WHERE c.客户编号a.客户编号 #是在查找那些没有订购客户编号为100001所订购的所有商品的客户。AND c.商品编号b.商品编号)) 已经订购了客户编号为100001所订购的所有商品的客户编号但排除了客户编号为100001本身。 集合查询 查询订购了编号为“10010001”或“10020001”商品的客户的编号。
SELECT 客户编号FROM OrderListWHERE 商品编号10010001
UNION
SELECT 客户编号FROM OrderListWHERE 商品编号10020001查询单价小于50的商品与库存量大于20的商品的交集。
SELECT 商品编号, 商品类别, 商品名称, 品牌, 单价,生产商, 保质期, 库存量FROM GoodsInfoWHERE 单价50
INTERSECT
SELECT 商品编号, 商品类别, 商品名称, 品牌, 单价, 生产商, 保质期, 库存量FROM GoodsInfoWHERE 库存量20是查询单价小于50且库存量大于20的商品
查询单价小于50的商品与库存量大于20的商品的差集。
SELECT 商品编号, 商品类别, 商品名称, 品牌, 单价, 生产商, 保质期, 库存量FROM GoodsInfoWHERE 单价50
EXCEPT
SELECT 商品编号, 商品类别, 商品名称, 品牌, 单价, 生产商, 保质期, 库存量FROM GoodsInfoWHERE 库存量20实际上是查询单价小于50且库存量不大于20的商品。