我需要一些帮助来理解这一点。因为我从未做过类似的事情。
我制作了一个小型数据库,其中 3 个表关联在一起。 在该数据库中,我从一个名为 cid 的外键中进行选择,它与一个以 cid 作为主键的表相关。
我做了这个查询:
SELECT *
FROM sales,continent,product
WHERE sales.cid = continent.cid OR sales.pid = product.pid
所以我试图从相关数据库中提取所有内容。我可以看到它通常在我的代码上工作,我想例如如果执行查询然后 我做了一个 ResultSet 来拉取字符串,例如 Product.SKU,我将得到预期的结果。
但是我真的使用了我的关系还是只是因为我的查询允许我这样做而拉动了它?
最佳答案
您想要连接 3 个表,但这不是执行此操作的方法。
检查一下:
SELECT *
FROM sales
INNER JOIN continent ON sales.cid = continent.cid
INNER JOIN product ON sales.pid = product.pid
这样,您就可以通过相关列将大陆
连接到销售
,将产品
连接到销售
。
根据您的需要,您可以使用 INNER
或 LEFT
连接,但这是正确的方法。
您可以在此处找到更多信息:https://dev.mysql.com/doc/refman/8.0/en/join.html
关于mysql - Java和mySQL从相关数据库索引中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56405468/