我有2个表,names
和phones
我为查询执行了此操作
$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出了什么问题?
答案 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