gpt4 book ai didi

Mysql inner join查询用法

转载 作者:行者123 更新时间:2023-11-29 05:21:37 25 4
gpt4 key购买 nike

这是两个表:一个类别表和另一个产品表

类别表

id     name
1 mealA
2 mealB

产品表

id     name     category_id ( refer to category table)
1 chicken 1,2
2 fries 1
3 tomato 2

SELECT * FROM product INNER JOIN category on product.category_id = category.id where category.name='mealA'

我有点震惊地发现 chicken 显示为结果(由其他人的代码)。这是我第一次知道我可以用 inner join 逗号分隔的列直接与其他列。

我在网上查了下,mysql里用find_in_set好像还有别的答案,为什么inner join可以这样,谁能帮忙解释一下?

最佳答案

我认为这不像您认为的那样有效;它不应该。

我猜测 product.category_id = category.id 正在将 product.category_id 转换为 INT 进行比较,从而采用'1,2' 中的 1category 表中的 1 匹配。

与 CSV 字段相比,我更喜欢正确定义的 HAS_MANY 关系(每个类别关系一行),尤其是作为引用。任何其他事物都会打开一个复杂的世界。

关于Mysql inner join查询用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25012374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com