mysql - 表之间有空格的 SELECT 语句?

标签 mysql sql database select

我有以下 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(可能是产品变体选项值的缩写)在数据库中没有出现。

谁能解释一下这个声明?

最佳答案

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 ....

关于mysql - 表之间有空格的 SELECT 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461512/

相关文章:

sql-server - 数据库设计 : Calculating the Account Balance

php - 当用户登录时将 session 变量设置为 user_id

php - SQL 查询选择行数,即使变量列表中的列中至少有一个值匹配

MySQL 连接因复杂查询而丢失

SQL 左连接和条件

sql - 强制执行 1 :1 and 1:Many cardinality in denormalized warehouse table with composite Primary Key

mysql - 从 View 创建内存表并将文本字段转换为 varchar

jquery - 自动生成 jquery 标签

php - 如何将动态数据库值从一个html元素连接到另一个?

c# - 列之间的数据网格操作