SQL Query从一个表中检索所有列,从另一个表中检索一列

时间:2013-04-27 08:39:50

标签: mysql sql

假设我们有以下表格:

Products [ItemID,ItemName,ItemDesc]
ProductInSupermarket [ItemID,SupermarketID,ItemPrice]

我们希望从Products中检索ItemPriceProductInSupermarket中的所有内容,有没有办法在不提及所有列的情况下执行此操作?我的意思是,我们可以这样做:

  Select Products.ItemID,Products.ItemName,Products.ItemDesc,ItemPrice 
    FROM Products,ProductInSupermarket 
    WHERE Products.ItemID=ProductInSupermarket.ItemID;

但是当我们有一个包含许多列的表并且我们想从这个表和另一个表中检索所有列时,这不是那么可读。如何以更易读,更有效的方式编写此查询?

1 个答案:

答案 0 :(得分:1)

我回显@DCoder's comment,但补充一点,你也可以省略给出没有歧义的表限定符,并使用USING的显式连接语法更简洁:

SELECT Products.*, ItemPrice
FROM   Products JOIN ProductInSupermarket USING (ItemID)