Mysql选择多个表,但在一个表上进行内部联接

Mysql选择多个表,但在一个表上进行内部联接,mysql,inner-join,multiple-tables,Mysql,Inner Join,Multiple Tables,是否可以选择多个表并在其中一个表上进行内部联接?e、 g SELECT * FROM table1 AS t1, table2 AS t2, table3 AS t3 INNER JOIN table4 AS t4 ON t1.row3 = t4.row3 INNER JOIN table5 AS t5 ON t1.row4 = t5.row4 WHERE ... 这个特殊病例给我带来了麻烦。它在“on子句”中给了我一个错误-未知列“t1.row3”。我不知道是否可以选择多个表,但对其中一个

是否可以选择多个表并在其中一个表上进行内部联接?e、 g

SELECT * 
FROM table1 AS t1, table2 AS t2, table3 AS t3
INNER JOIN table4 AS t4 ON t1.row3 = t4.row3
INNER JOIN table5 AS t5 ON t1.row4 = t5.row4
WHERE ...

这个特殊病例给我带来了麻烦。它在“on子句”中给了我一个错误-未知列“t1.row3”。我不知道是否可以选择多个表,但对其中一个表进行内部联接。

联接操作数的优先级高于逗号
操作数,因此联接被有效地视为

t1, t2, (t3, t4, t5 ON ... )
在t1、t2、t3周围加上括号

SELECT * 
FROM  ( table1 AS t1, table2 AS t2, table3 AS t3 )
INNER JOIN table4 AS t4 ON t1.row3 = t4.row3
INNER JOIN table5 AS t5 ON t1.row4 = t5.row4
WHERE ...
您还可以将查询编写为:

SELECT * 
FROM  table1 AS t1
INNER JOIN table2 AS t2
INNER JOIN table3 AS t3
INNER JOIN table4 AS t4 ON t1.row3 = t4.row3
INNER JOIN table5 AS t5 ON t1.row4 = t5.row4
WHERE ...

因为逗号相当于没有联接条件的内部联接。

联接操作数的优先级高于逗号,操作数,因此联接被有效地视为

t1, t2, (t3, t4, t5 ON ... )
在t1、t2、t3周围加上括号

SELECT * 
FROM  ( table1 AS t1, table2 AS t2, table3 AS t3 )
INNER JOIN table4 AS t4 ON t1.row3 = t4.row3
INNER JOIN table5 AS t5 ON t1.row4 = t5.row4
WHERE ...
您还可以将查询编写为:

SELECT * 
FROM  table1 AS t1
INNER JOIN table2 AS t2
INNER JOIN table3 AS t3
INNER JOIN table4 AS t4 ON t1.row3 = t4.row3
INNER JOIN table5 AS t5 ON t1.row4 = t5.row4
WHERE ...

因为逗号相当于没有联接条件的内部联接。

这些是您的实际表名和列名吗?不,这些不是我的实际表名和列名,但它们很相似。我需要选择3个表,在一个表上我需要进行内部联接,在另外两个表上只需简单地选择。这些是您的实际表名和列名吗?不,这些不是我的实际表名和列名,但它们是相似的。我需要选择3个表,在一个表上我需要进行内部联接,在另外两个表上只需简单地选择即可。实际上,我现在没有看到的是,作为结果,我多次得到相同的行。。。第1行,第1行,第1行,第2行,第2行……事实上,我现在没有看到的是,作为结果,我多次得到同一行。。。第1排,第1排,第1排,第2排,第2排。。。。