查询两个表并替换第二个表中的一个表

时间:2015-03-16 10:34:42

标签: mysql sql

假设我有两个这样的表:

fruits
-------------
id | name   |
-------------
1  | Apple  |
2  | Orange |
3  | Pear   |
-------------

users
-------------------
id | name | fruit |
-------------------
1  | John | 3     |
2  | Bob  | 2     |
3  | Adam | 1     |
-------------------

我想查询这两个表,并在结果中获取用户ID,他的名字和水果名称(用户表中的水果ID对应于水果的ID),如下所示:

--------------------
id | name | fruit  |
--------------------
1  | John | Pear   |
2  | Bob  | Orange |
3  | Adam | Apple  |
-------------------

我尝试在下面的查询中加入这两个,但到目前为止没有成功。

"SELECT * FROM users, fruits WHERE fruits.id = fruit"

提前致谢。

4 个答案:

答案 0 :(得分:2)

你需要JOIN这样的水果表:

SELECT u.id, u.name, f.name FROM users u JOIN fruits f ON u.fruit = f.id

查看工作示例here

答案 1 :(得分:1)

select a.id,a.name,b.name as fruit
from users a
join friuts b
on b.id=a.fruit

答案 2 :(得分:1)

试试这个:

SELECT a.id, a.name, b.name FROM 
    users a JOIN fruits b 
    ON a.fruit = b.id

答案 3 :(得分:0)

SELECT u.id, u.name, f.name 
FROM users u 
inner join fruits f 
ON f.id = u.fruit