我需要一些帮助来理解这一点。因为我从未做过类似的事情。
我制作了一个小型数据库,其中3个表关联在一起。 在该数据库中,我从一个称为cid的外键中进行选择,该键与作为主键cid的表有关。
我进行了以下查询:
SELECT *
FROM sales,continent,product
WHERE sales.cid = continent.cid OR sales.pid = product.pid
所以我试图从相关数据库中提取所有内容。我可以看到它在我的代码上正常工作,例如,如果执行查询,然后 我执行一个ResultSet来拉出例如product的字符串。SKU我将得到预期的结果。
但是我是否真的使用我的关系,或者我只是拉了它,因为我的查询允许我这样做?
答案 0 :(得分:1)
您想要联接3个表,但这不是这样做的方法。
检查一下:
SELECT *
FROM sales
INNER JOIN continent ON sales.cid = continent.cid
INNER JOIN product ON sales.pid = product.pid
通过这种方式,您可以按照相关列将continent
与sales
和product
与sales
连接起来。
根据您的需要,您可以使用INNER
或LEFT
联接,但这是可行的方法。
您可以在此处找到更多信息:https://dev.mysql.com/doc/refman/8.0/en/join.html