无法理解多对多表的SQL查询

时间:2017-12-07 14:59:23

标签: sql

我有一个多对多的表来管理商店和产品之间的库存 enter image description here

我正在尝试创建一个简单的查询来显示store_stock中的所有行,但是通过显示产品名称和商店名称以更加用户友好的方式显示。

我尝试了一些这方面的变化,但我只是不断收到错误

SELECT product.product_name, store.store_name, store_stock.quantity
FROM store_stock
INNER JOIN product ON store_stock.product_id = product.product.id
INNER JOIN store ON store_stock.store_id = store.store_id

当我通过phpMyAdmin查询选项卡执行此操作时:(但我必须将其从LEFT JOIN更改为INNER JOIN)

SELECT `product`.`name` AS `product_name`, `store`.`name` AS `store_name`, `store_stock`.`quantity`
FROM `product`
    INNER JOIN `store_stock` ON `store_stock`.`product_id` = `product`.`product_id`
    INNER JOIN `store` ON `store_stock`.`store_id` = `store`.`store_id`
ORDER BY `product`.`name` ASC, `store`.`name` ASC

这有效,但我不明白为什么它运行'FROM product'而不是'FROM store_stock'表

0 个答案:

没有答案