Dans les systèmes de gestion de bases de données relationnelles (SGBDR), il est souvent nécessaire de récupérer des données en fonction de conditions spécifiques . Dans ce scénario particulier, la tâche consiste à sélectionner des lignes de la table des offres qui incluent tous les sports spécifiés dans un tableau donné, tout en contenant potentiellement des sports supplémentaires.
Pour obtenir ce résultat, la requête SQL suivante peut être utilisé :
SELECT o.* FROM sports s JOIN offers_sports os ON os.sport_id = s.id JOIN offers o ON os.offer_id = o.id WHERE s.name IN ('Bodyboarding', 'Surfing') GROUP BY o.id HAVING count(*) = 2;
Décomposition de la requête :
En résumé, cette requête SQL récupère les offres qui répondent aux critères spécifiés, garantissant que tous les sports obligatoires sont présents sans exclure les offres incluant des sports supplémentaires.
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!