0

次のテーブルがあるとします。

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

ProductsItemPriceからすべてを取得したいのですProductInSupermarketが、すべての列に言及せずにそれを行う方法はありますか? つまり、次のことができます。

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

しかし、多くの列を持つテーブルがあり、このテーブルと別のテーブルの一部からすべてを取得したい場合、これはあまり読みにくくなります。このクエリをより読みやすく効率的な方法で作成するにはどうすればよいですか?

4

1 に答える 1

1

@DCoder のコメントをエコーし​​ますが、あいまいさがない場合はテーブル修飾子の指定を省略し、明示的な結合構文を使用しUSINGてさらに簡潔にすることもできると付け加えます。

SELECT Products.*, ItemPrice
FROM   Products JOIN ProductInSupermarket USING (ItemID)
于 2013-04-27T08:43:58.183 に答える