php - Mysql如何连接表

标签 php mysql select join

<分区>

我有三个表:

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

问题:是否可以在只知道表 1 的主键的情况下从表 2 和表 3 中选择信息?如果是这样,请给出 SELECT QUERY 的简短示例。我曾尝试执行内部联接,但出现语法错误。

最佳答案

是的,你可以。

示例:

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 艺术 xD!

关于php - Mysql如何连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37472396/

相关文章:

php - 使用 PHP 显示 SQL 结果

php - Mysql_stmt::bind_result()

php - urlencode 和 rawurlencode 有什么区别?

php - Mysql查询查找不同列的计数

mysql - 如何选择超过 4 个条件的记录

jquery - 如何使用 jQuery 从此 json 中选择数据?

php - Magento 新的自定义 block 模块

php - 如何计算PHP中两个日期之间的天数?

php - 从数据库中排序和提取分数

php - 如何在 cakephp 1.2.6 中回显最后一个查询