我之前从未使用过JOIN,因此我无法使用PHP正确地进行MySQL查询。
我有一个名为store
的表,其中包含行itemid,价格等。我还有一个名为item_list
的表,其中包含行ID,属性等。
我希望能够访问“store”itemid并使用它们,访问item_list
id和该id的属性。我想出了这样一个查询:
$query = "SELECT store.price, item_list.*
FROM store, item_list
WHERE item_list.id = store.itemid";
尝试执行查询时出错。有什么建议吗?
答案 0 :(得分:2)
$query = "SELECT store.price, item_list.*
FROM store LEFT JOIN item_list ON item_list.id = store.itemid
此外,您应该明确选择哪些列,而不是*。这是为了安全和性能。
另一个不错的功能是表别名,它使你的SQL不那么冗长:
$query = "SELECT s.price, il.col1, il.col2, il.col3
FROM store s LEFT JOIN item_list il ON s.itemid = il.id
答案 1 :(得分:0)
你有一个错字。它应该是
WHERE item_list.id = store.itemid
你有
WHERE item.id =
答案 2 :(得分:0)
如果您想要使用NULL值排除两个表中的所有行,那么您希望使用INNER JOIN。 LEFT JOIN仅排除连接左侧具有NULL值的行。
$query = "SELECT store.price, item_list.*
FROM store INNER JOIN item_list ON item_list.id = store.itemid