我是这个社区的新人,我需要使用一个从 mysql 数据库获取数据的查询,我有这个查询,但我需要添加一个新表,我不明白为什么查询有一个别名,我不知道它是如何工作的,有人可以帮助我吗? 这是我的查询:
SELECT ins.matricula, pe.nombres, pe.appaterno, pe.apmaterno, co.calleynum, co.colonia, co.municipio, co.telfijo, co.telcelular, pe.fechanac, pe.sexo, co.email, pe.institucion, tu.tnombres, tu.tappaterno, tu.tapmaterno, tu.direccion, tu.telefono, ins.fechains, ins.niveledu, ins.fechaini, ins.horario
FROM Inscripciones ins
LEFT JOIN Perfiles pe
ON pe.idperfil=ins.idperfil
LEFT JOIN Contactos co
ON co.idperfil = pe.idperfil
LEFT JOIN Tutores tu
ON tu.matricula = ins.matricula
WHERE pe.idperfil='$var'
我已经阅读了 mysql 文档,但我不明白它是如何工作的。
最佳答案
在MySQL中,可以声明一个“别名”来简化以后的查询。 通常,这用“AS”运算符表示,但也可以在不使用“AS”的情况下声明 - 正如您的示例中所示。
在您的示例中:
SELECT ins.matricula, {...}
FROM Inscripciones ins {...}
ins
设置为“Inscripciones”表的别名。
这允许您在整个查询中使用 ins
,而不是键入“Inscripciones”。这可以在 SELECT
语句中看到。
需要记住的一点 - SQL 中的别名可以在首次使用后声明。在您的示例中就是这种情况,其中 SELECT
在您实际将 ins
声明为 Inscripciones 的别名之前获取
。
有时这似乎违反直觉,但我保证如果您稍微尝试一下就会有意义。ins.matricula
我发现包含“AS”不太含糊 - 这可能有助于在您读取/写入 SQL 查询时更有意义。
例如: ... FROM Inscripciones AS ins
需要明确的是,使用别名不会改变查询的结果,但可以帮助您编写更清晰的查询,因为您不必每次使用表名时都重新编写表名。
关于php - 带有别名的 mysql 查询如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46010770/