【SQL 为什么sql中,给表起别名后,就不能再使用其真名了】

在 SQL 中,给表起别名是为了在查询中简化引用,避免表名的重复,或者用于自连接等场景。一旦给表指定了别名,就不能再使用它的原始表名,原因包括:

  1. 避免歧义:在同一个查询中,如果表的别名和原始表名同时使用,会导致歧义,数据库无法确定你引用的是别名还是原始表名。

  2. 保持一致性:SQL 查询要求一致性,一旦表被赋予别名,所有的引用都应该使用这个别名,以保持查询的清晰和一致性。

  3. 简化查询:别名的使用可以简化复杂的查询,特别是当涉及到多表连接时。如果一个表在查询中被多次使用,使用别名可以避免重复写完整的表名。

  4. 遵循 SQL 规则:SQL 语法规则要求一旦表被赋予别名,查询中对该表的所有引用都应该使用这个别名。

  5. 提高可读性:别名通常更简短,使用别名可以提高查询的可读性,使得查询逻辑更加清晰。

  6. 自连接场景:在自连接的场景中,表需要与自身进行连接,此时必须使用别名来区分连接的不同实例。

例如,考虑以下查询:

SELECT employees.name, departments.department_name
FROM employees
JOIN departments ON employees.department_id = departments.id
WHERE employees.salary > 50000;

如果 employees 表被赋予别名 e

SELECT e.name, d.department_name
FROM employees AS e
JOIN departments AS d ON e.department_id = d.id
WHERE e.salary > 50000;

在这个查询中,employeesdepartments 表分别被赋予了别名 ed。在 WHERE 子句中,我们使用 e.salary 而不是 employees.salary,因为 employees 已经通过 AS e 被重命名为 e。如果在查询中再次使用 employees,SQL 将无法识别它,因为它已经通过别名 e 被引用了。

总之,使用别名后不再使用原始表名是为了避免混淆,确保查询的一致性和清晰性,并遵循 SQL 的语法规则。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flos chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值