Mysql
 sql >> Base de données >  >> RDS >> Mysql

Remplacer la comparaison avec la sous-requête scalaire par une jointure interne ou une jointure gauche/droite

Il semble que vous souhaitiez quelque chose comme ceci :

select radicados.*
from
  radicados
  join estudiantes
    on radicados.asignado = estudiantes.estudianteid
  join usarios
    on estudiantes.usario = usarios.usarioid
  where usarios.nombre = $nombre_usuario

Dans la construction d'une telle requête, commencez par le FROM clause. Regroupez les différentes tables contenant les données nécessaires, en fonction des relations entre elles. Si nécessaire, ajoutez un WHERE clause décrivant toutes les conditions supplémentaires sur lesquelles vous souhaitez filtrer le résultat de votre jointure. Remplissez ensuite le SELECT répertorier le cas échéant.

Dans certaines circonstances, vous devrez peut-être également ajouter d'autres clauses (ORDER BY , GROUP BY , etc.), mais ce n'est pas mal une fois que vous avez compris les requêtes de base.