首頁 >資料庫 >mysql教程 >如何建立連接三個資料表(StudentSignUp、Incoming_Applications_Current 和 Halls)的 SQL 視圖?

如何建立連接三個資料表(StudentSignUp、Incoming_Applications_Current 和 Halls)的 SQL 視圖?

Barbara Streisand
Barbara Streisand原創
2025-01-15 22:32:44381瀏覽

How to Create an SQL View Joining Three Tables (StudentSignUp, Incoming_Applications_Current, and Halls)?

SQL檢視中連接三個表格

在資料庫管理領域,經常需要合併多個表格的資料。一個常見的場景涉及連接三個或更多表格以獲得全面的見解。在本例中,目標是建立一個視圖,將三個表中的資訊無縫地組合在一起:StudentSignUp、Incoming_Applications_Current 和 Halls。

提供的初始查詢專注於連接 StudentSignUp 和 Incoming_Applications_Current 表,成功檢索了學生資訊以及他們的宿舍偏好。但是,宿舍偏好以 ID 號碼而不是相應的名稱表示。為了完成視圖,需要合併第三個表 Halls。

可以使用修改後的查詢來實現所需的結果:

<code class="language-sql">SELECT
  s.StudentID,
  s.FName,
  s.LName,
  s.Gender,
  s.BirthDate,
  s.Email,
  r.HallPref1,
  h1.HallName AS HallPref1Name,
  r.HallPref2,
  h2.HallName AS HallPref2Name,
  r.HallPref3,
  h3.HallName AS HallPref3Name
FROM
  dbo.StudentSignUp AS s
INNER JOIN
  RoomSignUp.dbo.Incoming_Applications_Current AS r
  ON s.StudentID = r.StudentID
INNER JOIN
  HallData.dbo.Halls AS h1
  ON r.HallPref1 = h1.HallID
INNER JOIN
  HallData.dbo.Halls AS h2
  ON r.HallPref2 = h2.HallID
INNER JOIN
  HallData.dbo.Halls AS h3
  ON r.HallPref3 = h3.HallID;</code>

此修改後的查詢在 Incoming_Applications_Current 表和 Halls 表之間引入了三個額外的 JOIN。每個 JOIN 都使用 HallPref ID 作為匹配條件執行。因此,查詢檢索來自三個表的所有必要信息,包括學生的宿舍名稱偏好,而不僅僅是宿舍 ID。

透過實現此綜合查詢,您可以有效地建立一個視圖,該視圖呈現學生資訊的完整畫面,包括他們以可讀名稱表示的宿舍偏好。

以上是如何建立連接三個資料表(StudentSignUp、Incoming_Applications_Current 和 Halls)的 SQL 視圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn