我似乎无法弄清楚在 innerjoin 语句中正确使用括号。例如,当该语句中总共执行了 4 个 INNERJOINS 时,为什么 FROM 子句之后需要放置 3 个括号。
SELECT Recipe_Classes.RecipeClassDescription,Recipes.RecipeTitle,Recipes.Preparation, Ingredients.IngredientName, Recipe_Ingredients.RecipeSeqNo, Recipe_Ingredients.Amount, Measurements.MeasurementDescription
FROM (((Recipe_Classes
INNER JOIN Recipes
ON Recipe_Classes.RecipeClassID = Recipes.RecipeClassID)
INNER JOIN Recipe_Ingredients
ON Recipes.RecipeID = Recipe_Ingredients.RecipeID)
INNER JOIN Ingredients
ON Ingredients.IngredientID = Recipe_Ingredients.IngredientID)
INNER JOIN Measurements
ON Measurements.MeasureAmountID = Recipe_Ingredients.MeasureAmountID
ORDER BY RecipeTitle, RecipeSeqNo
最佳答案
不需要括号。但建议使用表别名!
SELECT rc.RecipeClassDescription, Recipes.RecipeTitle, r.Preparation,
i.IngredientName, ri.RecipeSeqNo, ri.Amount, m.MeasurementDescription
FROM Recipe_Classes rc INNER JOIN
Recipes r
ON rc.RecipeClassID = r.RecipeClassID INNER JOIN
Recipe_Ingredients ri
ON r.RecipeID = ri.RecipeID INNER JOIN
Ingredients i
ON i.IngredientID = ri.IngredientID INNER JOIN
Measurements m
ON m.MeasureAmountID = ri.MeasureAmountID
ORDER BY RecipeTitle, RecipeSeqNo;
虽然括号在理论上很有用(在某些使用外连接的情况下),但我发现在实践中并不需要它们。一个异常(exception)是 MS Access,它需要括号来进行多个连接。
关于mysql - 如何在 INNER JOIN 语句中使用括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46576022/