Java和mySQL从相关数据库索引中选择

时间:2019-06-01 09:29:54

标签: mysql

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

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

我进行了以下查询:

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

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

但是我是否真的使用我的关系,或者我只是拉了它,因为我的查询允许我这样做?

1 个答案:

答案 0 :(得分:1)

您想要联接3个表,但这不是这样做的方法。
检查一下:

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

通过这种方式,您可以按照相关列将continentsalesproductsales连接起来。
根据您的需要,您可以使用INNERLEFT联接,但这是可行的方法。
您可以在此处找到更多信息:https://dev.mysql.com/doc/refman/8.0/en/join.html