Microsoft SQL Server 数据库使用(六)

一、子查询注:下面使用 Microsoft SQL Server 20191.SQL Server子查询(1)、子查询是嵌套在另一个语句(如:[SELECT],[INSERT],[UPDATE]或[DELETE])中的查询。(2)、例:在 SELECT 语句的[WHERE]子句中使用子查询来查找位于纽约( New York )的客户的销售订单,可以进行分步分析。①、首先查询出来自纽约( New York )的客户订单,得到对应的客户②、然后查询客户的销售订单,要从订单表里查找,把查询到来自纽约(
摘要由CSDN通过智能技术生成

一、子查询
注:下面使用 Microsoft SQL Server 2019
1.SQL Server子查询
(1)、子查询是嵌套在另一个语句(如:[SELECT],[INSERT],[UPDATE]或[DELETE])中的查询。
(2)、例:在 SELECT 语句的[WHERE]子句中使用子查询来查找位于纽约( New York )的客户的销售订单,可以进行分步分析。
①、首先查询出来自纽约( New York )的客户订单,得到对应的客户
②、然后查询客户的销售订单,要从订单表里查找,把查询到来自纽约( New York )的所有客户放进子查询中。
③、把客户id放在子查询中查询到来自纽约( New York )的客户对应的客户id。
④、结合前面步骤进行子查询语句可以查询出来自纽约( New York )的客户对应的客户id对应的订单号及订单信息。
在这里插入图片描述
(3)、如果在子查询过程中使用:=、!=、<、<=、>、>=,等等运算符的时候系统会提示你,子查询返回的值不止一个,或子查询用做表达式时是不允许的,原因为返回的数据可能不止一条,如果返回的数据只有一条则不会报错,注只针对多条数据而言。
在这里插入图片描述
2.嵌套子查询
(1)、 子查询可以嵌套在另一个子查询中。 SQL Server最多支持 32 个嵌套级别。
(2)、例1:使用子查询来查找位于纽约( New York )的客户的销售订单并且订单id号小于20的订单信息:
①、通过图中2级子查询中知道,首先查询客户表中客户id小于20的数据,
②、通过图中1级子查询中查询出来自纽约( New York )的客户订单,得到对应的客户id。
③、两条子查询结合起来成为嵌套子查询,可以查找位于纽约( New York )的客户的销售订单并且订单id号小于20的订单信息。
在这里插入图片描述
(3)、题目:查找价格高于 ‘上海永久’ 和 ‘凤凰’ 品牌的所有产品的平均定价的产品:
①、分步进行分析,首先,查询以获取品牌名称为 ‘上海永久’ 和 ‘凤凰’ 的品牌标识号列表,即查询到品牌名字为“上海永久”、“凤凰”品牌的品牌id。
在这里插入图片描述
②、SQL Server计算属于这些品牌的所有产品的平均价格:
在这里插入图片描述
③、SQL Server查找价格高于 ‘上海永久’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值