MySQL 请求子表的非常简单的连接示例

MySQL very simple join example requested with subtable

随着 MySQL 的加入,我不断陷入问题。 我想请求一个非常简单的例子,我可以用它来继续我理解学习 MySQL 语法的旅程。

假设我得到以下 table 的

test_testtable

test_testlink

test_address

我想做出如下选择:

SELECT * (lets say I would define the fields) FROM `test_testable` 
JOIN `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
AND
JOIN `test_testlink`.`testlink_addres` = `test_address`.`address_id`
WHERE `user_id` = 5

因此 linking 结构如下:

test_testtable.testtable_id =领先

tabletest_testlink是table到link的tabletest_testtabletest_address

和linking table test_testlink使用字段testlink_link到 link 到 table test_testtable,并使用字段 testlink_address 到 link到tabletest_address

这不起作用。对我来说..因为我似乎总是无法抓住正确的语法逻辑。

所以我希望有人能给我一个小例子,说明如何正确实现这样一个简单但关键的查询!

TIAD!!

一般方法:

SELECT table1.* FROM table1
JOIN table2 ON table2.id_table1 = table1.id
JOIN table3 ON table3.id_table2 = table2.id
WHERE table1.id = 10

为了您的目的:

SELECT * (lets say I would define the fields) FROM `test_testable` 
JOIN `test_testlink` ON `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
JOIN `test_address` ON `test_testlink`.`testlink_addres` = `test_address`.`address_id`
WHERE `user_id` = 5

Please read the reference

您使用了错误的语法。您应该先提及要加入哪些表,然后再根据哪些字段加入。

SELECT * (lets say I would define the fields) FROM `test_testable` 
INNER JOIN test_testlink 
ON `test_testtable`.`testtable_id` = `test_testlink`.`testlink_link`
INNER JOIN `test_address` 
ON `test_testlink`.`testlink_addres` = `test_address`.`address_id`
AND `test_testtable`.`user_id` = 5
select * from testlink JOIN testtable ON testlink.tableid = testtable.ID
                       JOIN testaddress ON testlink.addressid = testaddress.ID
WHERE testtable.ID = 5