连接两个表,然后按名称而不是ID进行选择

时间:2019-09-05 11:06:16

标签: mysql sql join

我在mysql中有以下数据:

表区域:

+----+------------+
| id | zonename   |
+----+------------+
|  1 | zoneA      |
+----+------------+

表对象:

+---------+-------+
| zone_id | name  |
+---------+-------+
|      1  | ball  |
+---------+-------+

我想通过连接进行选择,但要使用zonename列而不是id。有可能吗?

这是预期的结果:

+----------+------+
| zonename | name |
+----------+------+
| zoneA    | ball |
+----------+------+

我想在选择中提及zoneA,因此基本上选择对象上zone_id与ZoneA的ID匹配的所有记录。

谢谢

2 个答案:

答案 0 :(得分:0)

可以在这里查询:

select zones.*, objects.* from zones inner join objects on zones.zonename = objects.name;

答案 1 :(得分:-1)

您可以从表中选择任意列:

select z.zonename, o.*
from zones z join
     objects o
     on z.id = o.zone_id