当前位置: 首页 > 面试题库 >

SQL查询如何有两个from子句?

胡弘毅
2023-03-14
问题内容

这对我来说看起来很奇怪:

delete from GearsDev.dbo.Products 
from GearsDev.dbo.Products as C
inner join #Common as M
    on M.item = C.ItemNumber

#Common 是一个临时表,但是其余的对我来说毫无意义。

你怎么能有两个from子句?


问题答案:

从DELETE的文档中可以看出,它可以包含两个FROM子句。

第一个FROM

FROM:是可选关键字,可以在DELETE关键字和目标table_or_view_name或rowset_function_limited之间使用。

第二个FROM

FROM <table_source>:指定一个附加的FROM子句。Transact-
SQL的DELETE扩展允许在第一个FROM子句中从表中指定数据并删除表中的相应行。

可以使用此扩展(指定一个联接)代替WHERE子句中的子查询来标识要删除的行。

因此,当与联接时,SQL将从Products表中删除具有匹配项的记录#common

这等效于(在含义上)以下查询:

delete from [GearsDev].[dbo].[Products]
where ItemNumber in
(
  select item from #common
)


 类似资料:
  • 问题内容: 怪物编辑:查询现在将运行,但返回错误答案。添加了一个粗略的架构。PatientID不是tblPatientVisits表中的主键,因为同一患者ID可以出现多次。 列出了每个县名,但每个计数(s.countyName)和计数(t.countyname)为1 编辑:我有一个查询,现在运行,但它返回 问题答案: 没有样本数据和理想的结果很难说,但是也许这是您要追求的?

  • 问题内容: 我有一个库存表,我想创建一个报告,以显示订购商品的频率。 “库存”表: 基本上,我需要将这两个查询结合在一起。 查询打印库存余额: 打印销售统计信息的查询 我认为某种JOIN可以完成这项工作,但我不知道如何将查询粘合在一起。 所需的输出: 这仅是示例。也许我将需要添加更多条件,因为有更多列。是否存在将多个查询组合在一起的通用技术? 问题答案:

  • 我有两个查询,它们都是分开工作的,但是当我尝试统一下摆时,我只有问题。 查询1: 查询 2: 如何根据(内部一)统一它们?

  • 问题内容: 我想同时计算一个表中的记录总数和符合某些条件的记录总数。我可以使用两个单独的查询来完成这些操作: 有没有一种方法可以将它们组合成一个查询,以便在一行中得到两个字段? 如果没有,我可以发出两个查询并将它们包装在一个事务中,以便它们保持一致,但是我希望使用一个查询来完成。 编辑:我最关心原子性;如果需要两个子SELECT语句就可以,只要某个地方有INSERT,它就不会使两个响应不一致。 编

  • 问题内容: 我们正在开发一个使用EJB连接到数据库的Web应用程序。 在我们的数据库模型中,我们有一个移动设备表,另一个有功能表,最后一个有手机模型映射功能值的表。模型(id_model,…)功能(id_feature,…)model_features(id_model,id_feature,值) 我们想要执行一个查询,以按匹配特征的数量对模型进行排序。就是说,我们传递了一个要匹配的功能列表(即从

  • 问题内容: 如何合并这两个SQL语句? 两个表中都存在hits10,hits11和hits12。 问题答案: 使用UNION查询-只需在两个查询之间填入“ UNION”即可: 更新 将联合包装在另一个查询中: