>데이터 베이스 >MySQL 튜토리얼 >지원자가 선호하는 홀 이름을 검색하기 위해 SQL에서 3개의 테이블을 효율적으로 조인하는 방법은 무엇입니까?

지원자가 선호하는 홀 이름을 검색하기 위해 SQL에서 3개의 테이블을 효율적으로 조인하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-15 22:22:48408검색

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

지원자의 선호 홀명 조회를 위한 SQL 쿼리

이 가이드에서는 세 개의 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 및 해당 홀 이름과 함께 학생 세부 정보가 반환됩니다.

세 개의 선호 홀 이름을 모두 검색하려면 여러 조인을 사용하세요.

<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>

이 쿼리는 학생 정보와 세 개의 선호 홀 이름을 모두 제공합니다.

위 내용은 지원자가 선호하는 홀 이름을 검색하기 위해 SQL에서 3개의 테이블을 효율적으로 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.