我有以下SQL语句:

SELECT pvov.id, pvov.value
FROM ci_product_variant_option_values pvov, ci_product_variant_options pvo
WHERE pvov.product_variant_option_id=pvo.id
AND pvo.product_id='12345'


现在,我不明白ci_product_variant_option_values pvov是什么意思,因为它没有任何逗号或点。我知道ci_product_variant_option_values是数据库中的一个表,但是pvov(可能是产品变体选项值的缩写)在db中没有出现。

有人可以给我解释一下这个说法吗?

最佳答案

pvov是表别名。

就像说:

ci_product_variant_option_values AS pvov


别名使代码更简洁,而不必使用ci_product_variant_option_values.id,您只需使用pvov.id

我还建议通过使用显式的JOIN标准来摆脱不推荐使用的语法:

SELECT pvov.id, pvov.value
FROM ci_product_variant_option_values pvov
JOIN ci_product_variant_options pvo
ON pvov.product_variant_option_id=pvo.id
WHERE ....

10-06 13:57