首頁 > 資料庫 > mysql教程 > 如何在SQL中高效INNER JOIN三個表格來檢索學生資訊和大廳名稱?

如何在SQL中高效INNER JOIN三個表格來檢索學生資訊和大廳名稱?

Patricia Arquette
發布: 2025-01-15 22:23:43
原創
281 人瀏覽過

How to Efficiently INNER JOIN Three Tables in SQL to Retrieve Student Information and Hall Names?

SQL:使用 INNER JOIN 組合多個表格中的資料

SQL 的 INNER JOIN 是一個強大的工具,用於根據共享值組合來自不同表的資訊。 這在處理相關資料集時特別有用,如本範例所示,涉及學生資訊、大廳偏好和大廳名稱。

想像三張表:一張保存學生詳細信息,另一張保存學生宿舍偏好(以 ID 表示),第三張保存與這些 ID 對應的宿舍名稱。為了在實際的大廳名稱旁邊顯示學生信息,我們將使用 INNER JOIN.

以下是如何有效INNER JOIN這三個表:

1

2

3

4

5

6

7

8

9

10

<code class="language-sql">SELECT

    s.StudentID, s.FName, s.LName, s.Gender, s.BirthDate, s.Email,

    r.HallPref1, r.HallPref2, r.HallPref3,

    h.HallName

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 h ON r.HallPref1 = h.HallID;</code>

登入後複製

此查詢的工作原理如下:

  1. 第一個 INNER JOIN 使用 StudentSignUp 作為公用金鑰連接 Incoming_Applications_CurrentStudentID
  2. 第二個 INNER JOIN 使用 Incoming_Applications_Current(來自首選項表)和 Halls(來自大廳表)連結 HallPref1HallID

結果將顯示學生資訊以及他們的第一個大廳偏好及其相應的名稱,例如:

1

<code>John Doe | 923423 | Incoming Student | Foley Hall</code>

登入後複製

擴展多個大廳首選項的查詢:

要擷取所有三個大廳首選項及其名稱,我們可以使用附加的 INNER JOIN 來擴展查詢:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<code class="language-sql">SELECT

    s.StudentID, s.FName, s.LName, s.Gender, s.BirthDate, s.Email,

    r.HallPref1, h1.HallName AS Pref1HallName,

    r.HallPref2, h2.HallName AS Pref2HallName,

    r.HallPref3, h3.HallName AS Pref3HallName

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>

登入後複製

此增強型查詢將 Halls 表格連接三次,每個偏好列一次,提供學生宿舍偏好及其關聯名稱的完整視圖。

以上是如何在SQL中高效INNER JOIN三個表格來檢索學生資訊和大廳名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板