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

标签 mysql

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

我制作了一个小型数据库,其中 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

这样,您就可以通过相关列将大陆连接到销售,将产品连接到销售
根据您的需要,您可以使用 INNERLEFT 连接,但这是正确的方法。
您可以在此处找到更多信息:https://dev.mysql.com/doc/refman/8.0/en/join.html

关于mysql - Java和mySQL从相关数据库索引中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56405468/

相关文章:

java - 在 hibernate 中使用 MySQL 变量和赋值

mysql - 在哪里可以获得用于练习 MySQL 查询优化的大型示例数据库

mysql - 如何合并 mysql 中的这些列还是应该使用另一个连接?

php - Doctrine PHP 问题

mysql - 如何使用 MySQL 显示表中的唯一记录

php - mysql中错误的字符集

php - Sphinx 结果在空格后不返回匹配项

mysql - INSERT ... ON DUPLICATE KEY UPDATE 在我的数据库中不起作用

javascript - Node js、json、sql、表

php - 在 PDO 中使用 password_verify 的正确方法是什么?