我想使用LEFT JOIN
选择一个表中的所有字段以及其他表中的某些特定字段。我可以使用*来选择一个表中的所有列,还可以命名JOIN
中的特定字段吗?
这样的事情:
SELECT * , table2.a, table2.b
FROM table1
LEFT JOIN table2 ON table2.a = table1.a
WHERE ...
答案 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对通配列名称的顺序很挑剔 - 它们必须是第一个。