使用Star(*)和mysql内连接?

时间:2013-08-22 15:03:55

标签: mysql join foreign-keys inner-join wildcard

我一直在做内部联接,看起来像这样

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

指定所需的每一行。我目前正在使用一个有50行的表,但我不想用所有行键入所有这些SQL连接,有没有办法说“从订单中选择*,然后给我Customers.CustomerName加入。 ...“而不是指定第一个表中的每一行?

2 个答案:

答案 0 :(得分:8)

SELECT Orders.*, Customers.CustomerName

您只需通过tablename.column定义所需内容,以便指定现有列名称,或使用星号*指示该表中的所有列。

答案 1 :(得分:1)

在应用程序中,强烈建议明确要选择的列并避免使用*,但如果您自己运行这些查询,则使用它是有意义的:

SELECT table_name.*

请注意,如果列名称是唯一的,您还可以从列中省略限定表名称。 Customers.CustomerName CustomerName可以Orders,除非CustomerName 还有Orders.OrderID列。同样,OrderID可以是{{1}}。