mysql - Java 和 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
这样您continent
就可以通过它们的相关列加入sales
和加入。
根据您的需要,您可以使用或加入,但这是要走的路。你可以在这里找到更多:https ://dev.mysql.com/doc/refman/8.0/en/join.htmlproduct
sales
INNER
LEFT
推荐阅读
- hadoop - HDP2.5 Hortonworks Sandbox 忘记并重置 root 用户密码
- jquery - 如何使用 jQuery 在一个包含多个表单的表单中隐藏一个“p”?
- javascript - 从 Blob 数据下载的图像不是正确的 PNG 文件
- react-native - RNPickerSelect 单元测试(改变值)
- keras - Sagemaker Keras 输出到 csv
- excel - Maatwebsite Excel无法导入汉字
- swift - 如何使用滚动视图内容偏移属性?
- wordpress - Wordpress woocommerce 贝宝交易 ID
- firebase - 从 Firestore 集合组查询中获取父母,而不检索儿子
- c++11 - C++11 -bash: ./program: 没有这样的设备