我需要使用内部联接或右/左联接来编写此查询,但我不知道如何开始:
select * from radicados where asignado =
(select estudianteid from estudiantes where usuario =
(select usuarioid from usuarios where nombre = $nombre_usuario))
但我不知道如何对连接做同样的事情。
我认为这一定是这样的:
select * from radicados inner join usuarios on usuarioid=usuario
最佳答案
看起来你想要这样的东西:
select radicados.*
from
radicados
join estudiantes
on radicados.asignado = estudiantes.estudianteid
join usarios
on estudiantes.usario = usarios.usarioid
where usarios.nombre = $nombre_usuario
在构建这样的查询时,从 FROM
子句开始。根据它们之间的关系,将包含所需数据的各种表连接在一起。如果需要,添加一个 WHERE
子句,描述您要根据其过滤联接结果的任何其他条件。然后根据需要填写 SELECT
列表。
在某些情况下,您可能还需要添加其他子句(ORDER BY
、GROUP BY
等),但一旦您理解了基本查询,那也不错。
关于mysql - 通过内部连接或左/右连接替换与标量子查询的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28202970/