如何从单个id的数据库中的多个表中获取信息?

时间:2018-06-10 07:14:56

标签: mysql sql

我的数据库中有8个表,我想使用查询从数据库中获取数据。

我的第一张桌子有master_id,我在主桌后的每张桌子上都传了它。我想获取我在表格中传递的master_id的所有数据。

我在其中遇到了一些语法错误。

SELECT edu_tb.* FROM edu_tb
INNER JOIN master_tb ON
master_tb.`master_id` = edu_tb.`master_id`

AND
    // table 2 experience

SELECT exp_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = exp_tb.`master_id`

AND
// table 3 certificate

SELECT certi_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = certi_tb.`master_id`

3 个答案:

答案 0 :(得分:0)

建议不要使用*从查询中检索字段,尤其是涉及多个表时。由于星号,下面的查询可能会有问题。

SELECT edu_tb.*, exp_tb.*, certi_tb.*
FROM master_tb
INNER JOIN edu_tb ON edu_tb.`master_id` = master_tb.`master_id`
INNER JOIN exp_tb ON exp_tb.`master_id` = master_tb.`master_id'
INNER JOIN certi_tb ON certi_tb.`master_id` = master_tb.`master_id

答案 1 :(得分:0)

以下内容:

SELECT * FROM master_tb mt
INNER JOIN edu_tb et  ON mt.master_id = et.master_id
INNER JOIN exp_tb  ex_t ON mt.master_id = ex_t.master_id
INNER JOIN certi_tb ct ON mt.master_id = ct.master_id;

答案 2 :(得分:0)

要在phpmyadmin中获得结果,

ViewController

此查询导致myadmin查询结果为SELECT edu_tb.* FROM edu_tb INNER JOIN master_tb ON master_tb.`master_id` = edu_tb.`master_id` --AND -- table 2 experience SELECT exp_tb.* FROM exp_tb INNER JOIN master_tb ON master_tb.`master_id` = exp_tb.`master_id` --AND --table 3 certificate SELECT certi_tb.* FROM certi_tb INNER JOIN master_tb ON master_tb.`master_id` = certi_tb.`master_id`

如果您尝试将数据集设置为 php code 将只接收一个select语句的输出(最后一个选择的输出)语句)。

因此,将所有这些表连接在一起将使您在单个select语句中包含所有这些表。

3 different table outputs

希望这会有所帮助。