使用JOIN检索2表的结果失败

时间:2017-12-30 02:42:28

标签: php mysql sql

我有2个表,namesphones我为查询执行了此操作

$result = mysqli_query($mysqli, "SELECT * FROM names ORDER BY fname ASC 
        RIGHT JOIN phones ON phones.id=names.phone_id"
        );

我的$result为假。我的名字表有一个名为phone_id的列,它是phones的id的PK,就像这样

names
- phone_id (FK)

phones
- id (PK)

上面我的sql出了什么问题?

3 个答案:

答案 0 :(得分:2)

语法应如下所示:

SELECT * 
FROM names
RIGHT JOIN phones ON phones.id = names.phone_id
ORDER BY fname ASC

ORDER BY必须移到最后。

答案 1 :(得分:1)

Order by应该是查询的最后一部分

SELECT * 
   FROM names n
   RIGHT JOIN phones p ON p.id=n.phone_id
   ORDER BY fname ASC 

开始使用alias名称以使查询更具可读性

答案 2 :(得分:0)

您应该使用ORDER BY作为查询的最后一个句子。在获取后,最后的排序依次排序。

SELECT * 
FROM names as n
RIGHT JOIN phones as p ON p.id=n.phone_id
ORDER BY fname ASC

要查看更多订单,您可以查看手册link