關於SQL的相關筆記【長期更新,只發一帖】

来源:http://www.cnblogs.com/wuxinzhe/archive/2016/11/12/6056345.html
-Advertisement-
Play Games

場景【1】多表聯查時,主表與關聯表同時與同一張(第三張表)有關聯,類似三角戀關係- - 涉及表: HOUSE:記錄了房屋信息 ROOMS:記錄了房間信息 HOUSE_STATUS:記錄了狀態信息的中文欄位 房屋信息HOUSE表中有一個關於記錄房屋狀態的欄位,status_id,與HOUSE_STAT ...


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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Cocoapods是ios第三方類庫集成管理工具,它能讓你不需任何配置集成git上所有類庫,並且方便管理,讓你的ios項目看起來不那麼混亂, 安裝這個工具後,過段時間也許你突然會發現它的指令無法使用了,這問題與IOS系統升級有關係,也許當你把mac os系統升級到官方纔出的版本,會突然發現它無法使用 ...
  • 如果直接在TableVIewController上貼Button的話會導致這個會隨之滾動,下麵解決在TableView上實現位置固定懸浮按鈕的兩種方法: 1.在view上貼tableView,然後將懸浮按鈕貼在view的最頂層 2.使用window 首先看一下最終的效果,在tableViewCont ...
  • 在實際的Android開發過程中,我們遇到了一些奇奇怪怪的Crash,通過sigaction再配合libcorkscrew以及一些第三方的Crash Reporter都捕獲不到發生Crash的具體信息,十分頭疼。然後我們通過Bugly上報的Java的CallStack觀察發現這些Crash發現了一些 ...
  • 前言: 雖說網上有太多的Android課程,但是大多都是視頻,有Android線上開發環境的幾乎沒有,但是對於學習Android的人來說擁有線上的Android開發環境是非常好的,可以隨時動手操作學習Android開發,及時瞭解自己的掌握情況! 實驗樓就提供了Android線上開發環境,你不需要本地 ...
  • const,static,extern 簡介 一、const與巨集的區別: const簡介:之前常用的字元串常量,一般是抽成巨集,但是蘋果不推薦我們抽成巨集,推薦我們使用const常量。 執行時刻:巨集是預編譯 ( 編譯之前處理 ),const是編譯階段。 編譯檢查:巨集不做檢查,不會報編譯錯誤,只是替換,c ...
  • Weex 是什麼 Weex是阿裡發佈的一款用WEB方式開發原生app的開源產品 Weex能夠完美兼顧性能與動態性,讓移動開發者通過簡捷的前端語法寫出Native級別的性能體驗,並支持iOS、安卓、YunOS及Web等多端部署。對於移動開發者來說,Weex主要解決了頻繁發版和多端研發兩大痛點,同時解決 ...
  • 大家都知道如果手機只有一個活動的應用,那這個應用也太簡單了吧。如同網頁一下,是有多個組成的,在C#中我們可以使用各程skip控制項或代碼,這裡不再贅述。 ...
  • 一、TCP/IP協議(傳輸層協議) 1、Socket與ServerSocket Socket是應用層與TCP/IP協議簇通訊的中間抽象層,Socket是一組介面,在設計模式中,Socket的設計就是門面模式,它把複雜的TCP/IP協議簇的內容隱藏在套接字介面後面,用戶無需關心協議的實現,只需使用So ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...