如何编写复杂SQL查询:获取category_id为5的产品关联的product_spec_data记录
对应数据库查询语句构造方案
场景1:常规表结构关联查询
常规设计下,product_spec_data 表通过product_id外键关联产品表,产品表存储category_id字段标记所属分类,查询语句如下:
SELECT psd.* FROM product_spec_data psd INNER JOIN products p ON psd.product_id = p.id WHERE p.category_id = 5;
如果你的实际表名、关联字段名和默认命名不一致,对应修改即可:
- 替换
products为实际的产品表名称 - 替换
ON子句后的关联条件为你两个表实际的关联字段
场景2:冗余字段单表查询
如果product_spec_data表本身已经冗余存储了category_id字段,直接单表查询性能更高:
SELECT * FROM product_spec_data WHERE category_id = 5;
内容的提问来源于stack exchange,提问作者Ember
相关产品推荐
相关产品推荐

