首页 > 解决方案 > Java 和 mySQL 从相关数据库索引中选择

问题描述

我需要一些帮助来理解这一点。因为我从来没有做过类似的事情。

我制作了一个小型数据库,其中 3 个表关联在一起。在该数据库中,我从一个名为 cid 的外键中进行选择,它与作为主键 cid 的表相关。

我做了这个查询:

SELECT * 
FROM sales,continent,product 
WHERE sales.cid = continent.cid OR sales.pid = product.pid 

所以我试图从相关数据库中提取所有内容。我可以看到它在我的代码上正常工作,例如,如果执行查询,然后我执行 ResultSet 来提取字符串,例如 product.SKU,我将得到预期的结果。

但我真的使用了我的关系还是我只是因为我的查询允许我这样做而拉了它?

标签: mysql

解决方案


您想加入 3 个表,但这不是这样做的方法。
检查这个:

SELECT * 
FROM sales
INNER JOIN continent ON sales.cid = continent.cid
INNER JOIN product ON sales.pid = product.pid

这样您continent就可以通过它们的相关列加入sales和加入。 根据您的需要,您可以使用或加入,但这是要走的路。你可以在这里找到更多:https ://dev.mysql.com/doc/refman/8.0/en/join.htmlproductsales
INNERLEFT


推荐阅读