关于SQL的相关笔记【长期更新,只发一帖】
场景【1】多表联查时,主表与关联表同时与同一张(第三张表)有关联,类似三角恋关系- -
涉及表:
- HOUSE:记录了房屋信息
- ROOMS:记录了房间信息
- HOUSE_STATUS:记录了状态信息的中文字段
房屋信息HOUSE表中有一个关于记录房屋状态的字段,status_id,与HOUSE_STATUS的主键表关联,而房间信息ROOMS表中,也有一个关于记录房屋状态的字段,也是status_id,当HOUSE与ROOMS建立关联查询时,两张表又分别需要与HOUSE_STATUS这张表建立关联查询。则出现了标题说的三角恋关系,查询方式只需要利用别名查询即可:
SELECT HOUSE.ID, HOUSE.NAME, HOUSE.FLOOR, HOUSE.EXPECT_PRICE, HOUSE.AREA_NUMBER, HOUSE.HAVE_KITCKEN, HOUSE.HAVE_BALCONY, PROVINCE.provinceName, CITY.cityName, AREA.areaName, COMMUNITY.ID community_ID, COMMUNITY.NAME community_Name, HOUSE_LAYOUT.NAME layout_Name, DECORATION_TYPE.NAME decorationType_Name, HOUSE_STATUS.STATUS_NAME houseStatus_Name, PAYMENT.PAYMENT_NAME payment_Name, RENT_MODE.ID rentMode_ID, RENT_MODE.NAME rentMode_Name, ROOMS.ID, ROOMS.ROOM_NO, ROOMS.HOUSE_STATUS_ID, ROOMS.AREA_NUMBER, ROOMS.EXPECT_PRICE, ROOMS.HAVE_WASHROOM, ROOMS.HAVE_KITCKEN, ROOMS.HOUSE_STATUS_ID, ROOMS.HAVE_DESK, ROOMS.HAVE_AIRCONDITIONING, ROOMS.HAVE_WARDROBE, ROOMS.HAVE_WATERHEATER, ROOMS.HAVE_WLAN, rooms_Status.ID rooms_StatusID, rooms_Status.STATUS_NAME rooms_StatusName FROM HOUSE JOIN PROVINCE ON HOUSE.PROVINCE_ID = PROVINCE.provinceID JOIN CITY ON HOUSE.CITY_ID = CITY.cityID JOIN AREA ON HOUSE.AREA_ID = AREA.areaID JOIN COMMUNITY ON HOUSE.COMMUNITY_ID = COMMUNITY.ID JOIN HOUSE_LAYOUT ON HOUSE.LAYOUT_ID = HOUSE_LAYOUT.ID JOIN DECORATION_TYPE ON HOUSE.DECORATION_TYPE_ID = DECORATION_TYPE.ID JOIN HOUSE_STATUS ON HOUSE.HOUSE_STATUS_ID = HOUSE_STATUS.ID JOIN PAYMENT ON HOUSE.EXPECT_PAYMENT_ID = PAYMENT.ID JOIN HOUSE_RENT_MODE ON HOUSE.ID = HOUSE_RENT_MODE.HOUSE_ID JOIN RENT_MODE ON HOUSE_RENT_MODE.RENT_MODE_ID = RENT_MODE.ID JOIN ROOMS ON HOUSE.ID = ROOMS.HOUSE_ID JOIN HOUSE_STATUS rooms_Status ON ROOMS.HOUSE_STATUS_ID = rooms_Status.ID WHERE HOUSE.ID = 1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?