场景【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

关于SQL的相关笔记【长期更新,只发一帖】的更多相关文章

  1. SQL笔记 [长期更新] (-2015.4)

    [遍历所有表,复制表结构,复制表数据] --插入语句SELECT * INTO A FROM B 是在还没有A表的情况下,直接通过B表创建并把B表数据复制到A表里面,之后A,B表的结构和数据完全一样. ...

  2. SQL笔记 [SQL判断是否存在] [长期更新] (-2015.4)

    --判断某个存储过程是否存在if exists (select * from sysobjects where id = object_id(N'[p_CreateTable]') and OBJEC ...

  3. SQL笔记 [长期更新] (-2013.7)

    --IF EXISTS(SELECT * FROM dbo.SysObjects WHERE ID = object_id(N'[TABLEA]') ) DROP TABLE tableA--CREA ...

  4. C++实现大正整数及其相关运算(长期更新)

    /** 只考虑正数[1, +∞); “-”运算只允许大数减小数; 小端存储: */ typedef struct BigInteger0 { vector<int> v; BigInteg ...

  5. intelij idea相关笔记--持续更新

    一.快捷键: Ctrl+F 文件内查找 Ctrl+Shift+F 全局查找 Ctrl+Shift+N 查找文件 Ctrl+Alt+← 返回上一步 Ctrl+Alt+→ 返回下一步 二.编译相关: 如果 ...

  6. sharepoint_study_目录学习笔记(长期更新)

    1. _catalogs/masterpage:这个是SharePoint网站的母版页样式库页面,这里放了网站上所有的母版页(网站设置--Web设计器库--母版页和页面布局). 2.  15\TEMP ...

  7. 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句

    原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...

  8. Java代码优化(长期更新)

    前言 2016年3月修改,结合自己的工作和平时学习的体验重新谈一下为什么要进行代码优化.在修改之前,我的说法是这样的: 就像鲸鱼吃虾米一样,也许吃一个两个虾米对于鲸鱼来说作用不大,但是吃的虾米多了,鲸 ...

  9. BLE资料应用笔记 -- 持续更新

    BLE资料应用笔记 -- 持续更新 BLE 应用笔记 小书匠 简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.'让我们'更深入地探索这些方面吧. 蓝牙无处不在-,您可以在几乎每一台电话.笔记本电 ...

随机推荐

  1. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  2. Apache的详细安装教程和遇到的问题解决方案

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一 (一)Apache安装软件下载 1.访问 ...

  3. SQL Server 2008 R2:快速清除日志文件的方法

    本例,快速清理“students”数据库的日志,清理后日志文件不足1M. USE [master] GO ALTER DATABASE students SET RECOVERY SIMPLE WIT ...

  4. 基于Vue.js的表格分页组件

    有一段时间没更新文章了,主要是因为自己一直在忙着学习新的东西而忘记分享了,实在惭愧. 这不,大半夜发文更一篇文章,分享一个自己编写的一个Vue的小组件,名叫BootPage. 不了解Vue.js的童鞋 ...

  5. 解析opencv中Box Filter的实现并提出进一步加速的方案(源码共享)。

    说明:本文所有算法的涉及到的优化均指在PC上进行的,对于其他构架是否合适未知,请自行试验. Box Filter,最经典的一种领域操作,在无数的场合中都有着广泛的应用,作为一个很基础的函数,其性能的好 ...

  6. [bzoj2653][middle] (二分 + 主席树)

    Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整. 给你一个长度为n的序列s. 回答Q个这样的询问:s的左端点在[a,b ...

  7. JavaSript模块规范 - AMD规范与CMD规范介绍

    JavaSript模块化   在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发?       模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题 ...

  8. Centos6下安装高版本Git

    yum remove git .tar.gz /usr/src/ cd /usr/src/ cd git-/ make configure whereis autoconf yum install a ...

  9. JavaScript自动生成博文目录导航

    转载于:JavaScript自动生成博文目录导航 我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲解的内容,并且点击目录标题就可以跳转到 具体的内容 ...

  10. Word Search

    Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from l ...