ホームページ > データベース > mysql チュートリアル > SQL で 3 つのテーブルを効率的に結合して、応募者が希望するホール名を取得する方法

SQL で 3 つのテーブルを効率的に結合して、応募者が希望するホール名を取得する方法

DDD
リリース: 2025-01-15 22:22:48
オリジナル
403 人が閲覧しました

How to Efficiently Join Three Tables in SQL to Retrieve Preferred Hall Names for Applicants?

申請者の希望のホール名を取得する SQL クエリ

このガイドでは、3 つの SQL テーブルを結合して、申請者の希望するホール名を表示する方法を説明します。 学生テーブル、ホール優先テーブル、ホール名テーブルがあると仮定します。

最初のクエリは、学生テーブルと優先テーブルを正しくリンクして、優先ホール ID を取得します。 対応するホール名を取得するには、ホール名テーブルとの追加の結合が必要です。

改善されたクエリは次のとおりです:

<code class="language-sql">SELECT
  s.StudentID,
  s.FName,
  s.LName,
  s.Gender,
  s.BirthDate,
  s.Email,
  r.HallPref1,
  h.HallName AS 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>
ログイン後にコピー

これにより、学生の詳細情報と、希望するホール ID および対応するホール名が返されます。

3 つの優先ホール名をすべて取得するには、複数の結合を使用します。

<code class="language-sql">SELECT
  s.StudentID,
  s.FName,
  s.LName,
  s.Gender,
  s.BirthDate,
  s.Email,
  r.HallPref1,
  h1.HallName AS HallName1,
  r.HallPref2,
  h2.HallName AS HallName2,
  r.HallPref3,
  h3.HallName AS HallName3
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>
ログイン後にコピー

このクエリは、学生の情報と 3 つの優先ホール名すべてを提供します。

以上がSQL で 3 つのテーブルを効率的に結合して、応募者が希望するホール名を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート