查询2个MYSQL表来显示某些结果?

时间:2011-08-29 23:30:17

标签: mysql join intersect

我会尽量做空。我有两张桌子:

Users
ID | Name
1  | Joe
2  | Jimmy

Phone
ID | Number | User
1  | 12345  |  1
2  | 56789  |  2

现在我想生成一个查询来显示所有手机,但不是显示我想要的用户名,而是显示他的名字。

会像 - >查询*来自手机...而行... echo $ row-> id,$ row-> number,$ row-> User + Name。

我该怎么做?我可以完成2个查询,第一个保存到数组,第二个修改该数组的元素,但可能mysql为此获得了更好,更快的解决方案。

由于

2 个答案:

答案 0 :(得分:1)

SELECT Phone.ID, Phone.Number, Users.Name
FROM Phone
LEFT JOIN Users ON Phone.User = Users.ID

答案 1 :(得分:0)

select u.name, p.number from users u, phone p where u.id = p.user

除非手机不知道用户有FK然后使用外部联接,但仅限于没有用户的手机