Maison > base de données > tutoriel mysql > Comment joindre efficacement trois tables en SQL pour récupérer les noms de salle préférés des candidats ?

Comment joindre efficacement trois tables en SQL pour récupérer les noms de salle préférés des candidats ?

DDD
Libérer: 2025-01-15 22:22:48
original
470 Les gens l'ont consulté

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

Requête SQL pour récupérer les noms de salle préférés du candidat

Ce guide montre comment joindre trois tables SQL pour afficher les noms de salles préférés des candidats. Nous supposerons que vous avez une table d'étudiants, une table de préférences de salle et une table de noms de salle.

La requête initiale relie correctement les tables d'étudiants et de préférences pour obtenir les identifiants de salle préférée. Pour récupérer les noms de salles correspondants, nous avons besoin d'une jointure supplémentaire avec la table des noms de salles.

Voici la requête améliorée :

<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>
Copier après la connexion

Cela renvoie les détails de l'étudiant ainsi que son identifiant de salle préféré et le nom de la salle correspondante.

Pour récupérer les trois noms de salles préférés, utilisez plusieurs jointures :

<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>
Copier après la connexion

Cette requête fournit les informations sur l'étudiant et les trois noms de salle préférés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal