编写SQL查询,列出租住不止一套公寓的承租人
编写SQL查询,列出租住不止一套公寓的承租人
一贱书生 发表于12个月前
编写SQL查询,列出租住不止一套公寓的承租人
  • 发表于 12个月前
  • 阅读 6
  • 收藏 0
  • 点赞 0
  • 评论 0

华为云·免费上云实践>>>   

解答:要解决此题,我们可以使用HAVING和GROUP BY字句,然后将Tenants以INNER JOIN连接起来。

SELECT TenantName

FROM Tenants

INNER JOIN

                 (SELECT TenantID

                   FROM AptTenants

                   GROUP BY TenantsID

                   HAVING count(*)>1 ) C

 ON  Tenants.TenantID=C.TenantID

注:每当编写GROUP BY字句时,务必确保SELECT字句里的任何东西,要么是聚集函数,要么就是包含在GROUP BY子句里。

2、编写SQL查询,列出所有建筑物,并取状态为"Open"的申请数量。(Requests 表中Status为Open的条目)

此题直接将Requests和Apartments连接起来,就能列出建筑物ID,并取得Open申请的数量。

SELECT BuildingName, ISNULL(Count, 0) as'Count'
FROM Buildings
LEFT JOIN
   (SELECT Apartments.BuildingID,count(*) as 'Count'
    FROM Requests INNER JOIN Apartments
ON Requests.AptID=Apartments.AptID
WHERE Requests.Status = 'Open'
GROUP BY Apartments.BuildingID) ReqCounts
ON ReqCounts.BuildingID=Buildings.BuildingID

11号建筑物正在进行大翻修。编写SQL查询,关闭这栋建筑物里所有公寓的入住申请。

       跟SELECT查询一样,UPDATE查询也可以有WHERE子句。要实现这个查询,我们会获取11号建筑物里所有公寓的ID,然后从这些公寓取得入住申请列表。

UPDATE Requests

SET Status='Closed'

WHERE AptID IN

            (SELECT AptID 

             FROM Apartments

             WHERE BuildingID=11)

共有 人打赏支持
粉丝 14
博文 722
码字总数 600072
×
一贱书生
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: