有连接时应包含表名,无连接可以忽略
当没有连接时,列来自哪个表就不会有歧义,因此可以忽略表名:
-- 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
推荐文章: