Mysql如何连接表

时间:2016-05-26 23:02:48

标签: php mysql select join

我有三张桌子:

  • 表1包含主键。
  • 表2包含的外键等于表1的主键。
  • 表3包含的外键等于表2的主键。

问题:是否可以从表2和3中选择信息,同时只知道表1的主键?如果是这样,请举一个SELECT QUERY的简短示例。我尝试过进行内连接,但语法错误。

1 个答案:

答案 0 :(得分:2)

是的,你可以。

示例:

table_a              table_b             table_c
 _______________      _______________     _______________
|  id  |  name  |    |  id  | gender |   |  id  |   age  |
|------+--------|    |------+--------|   |------+--------|
|   1  |  sam   |    |   1  |    m   |   |   1  |   18   |
|------+--------|    |------+--------|   |------+--------|
|   2  |  ana   |    |   2  |    f   |   |   2  |   22   |
|------+--------|    |------+--------|   |------+--------|

为了得到以下结果:

 _________________________________ 
|  id  |  name  | gender |   age  |
|------+--------+--------+--------|
|   1  |  sam   |    m   |   18   |
|------+--------+--------+--------|
|   2  |  ana   |    f   |   22   |

您可以使用以下SQL语句:

SELECT a.id, a.name, b.gender, c.age
FROM table_a AS a
LEFT JOIN table_b AS b
    ON a.id = b.id
LEFT JOIN table_c AS c
    ON a.id = c.id

P.S。:只回答这个做ascii art xD!