有连接时应包含表名,无连接可以忽略

未匹配的标注

当没有连接时,列来自哪个表就不会有歧义,因此可以忽略表名:

-- Good
select
    id,
    name
from companies

-- Bad
select
    companies.id,
    companies.name
from companies

但涉及连接的时候,最好明确的写上表名,这样可以清楚的知道这些列的来源:

-- Good
select
    users.email,
    sum(charges.amount) as total_revenue
from users
inner join charges on users.id = charges.user_id

-- Bad
select
    email,
    sum(amount) as total_revenue
from users
inner join charges on users.id = charges.user_id

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~