MySQL使用*以及连接表中的列名

时间:2013-01-15 23:04:29

标签: mysql sql join left-join

我想使用LEFT JOIN选择一个表中的所有字段以及其他表中的某些特定字段。我可以使用*来选择一个表中的所有列,还可以命名JOIN中的特定字段吗?

这样的事情:

SELECT * , table2.a, table2.b 
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...

3 个答案:

答案 0 :(得分:1)

语法明智,它是正确的并且有效。但是,使用*是不好的做法。我建议你总是指定一个列列表。如果列更改,您的应用程序可能会中断。它的可读性总是更好。

答案 1 :(得分:1)

要获取table1中的所有字段以及table2中的某些列,您将使用:

SELECT table1.*, table2.column, table2.column
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...

答案 2 :(得分:0)

您使用table1.*指定一个表中的所有列如果您使用*,您将从所有表中获取所有列。

MySQL对通配列名称的顺序很挑剔 - 它们必须是第一个。