PostgreSQL Alias PostgreSQL Functions PostgreSQL Date & Time Function PostgreSQL Alias 在本节中,我们将了解PostgreSQL Aliasing 和 PostgreSQL Table aliasing 的工作,它用于在特定命令中为表提供临时名称。 什么是 PostgreSQL Alias? PostgreSQLAlias用于为特定语句中SELECT 命令的选择列表中的表或表达式提供短名称。 PostgreSQL Alias的优点 PostgreSQL Alias的优点如下: PostgreSQL Alias使列名或表名更易于理解。 在查询中将使用多个表的情况下,这是首选。 它提供了一个方便灵活的功能,使我们能够快速完成复杂的任务。 当我们在语句中使用函数时,PostgreSQL Alias很有用。 在 PostgreSQL Alias中,我们可以组合两个或多个列。 当列名重要或不可读时,PostgreSQL Alias非常有用。 PostgreSQL Alias可以通过两种方式定义: PostgreSQL table alias PostgreSQL column alias 在本节中,我们将了解PostgreSQL 表Alias及其一些示例。 什么是 PostgreSQL 表Alias? 该表Alias用于简化我们的命令,使其更容易阅读,或者当我们正在实施一个自联接,它列出了类似的表不止一次在FROM子句中。 表Alias作为表示表名的昵称,使表名更具可读性和更短。 它在命令的整个执行过程中暂时存在。当表名不是实时用户友好时,表Alias非常有用。 PostgreSQL 表Alias的语法 PostgreSQL 表Alias的语法如下: SELECT column1, column2....,columnN FROM table_name AS alias_name WHERE [condition]; 或者 在下面的语法中,我们忽略AS关键字,因为它是可选的,并且表 _name被赋予Aliasalias_name。 SELECT column_name FROM table_name alias_name; WHERE [condition]; 在上述语法中,我们有以下参数: 参数 描述 table_name 该表名称参数用来定义原来的名字,在这里我们要执行的Alias。 column_name 在列名被用于为特定表定义列名。 alias_name 该Alias是用来描述的临时名称,这是考虑到该柱。 AS 该AS是被大多数开发而走样列名的可选关键字,但在执行表Alias时不使用。 PostgreSQL 表Alias示例 让我们看一些示例,以更好地理解 PostgreSQL 表Alias。 在连接子句中执行表Alias 通常,我们使用 join 子句从一个或多个表中获取包含相似列名的记录。 如果我们使用来自一个或多个表而没有完全限定它们的类似列名,我们将得到一个错误。 要忽略此错误,我们需要借助以下语法来限定这些列: table_name.column_name 表Alias用于一个或多个表,并使用JOIN子句的帮助链接它们。在这里,我们将表Alias用于在FROM 子句中指定的表名,以及使命令更具可读性的INNER JOIN子句。 在下面的示例中,我们有一个名为Employee的表,其中包含以下数据: 此语句将使用表Alias返回记录: SELECT employee_details.emp_id, employee_details.emp_fname, employee_details.emp_lname FROM employee AS employee_details; 输出 执行上述命令后,我们将得到以下结果: 让我们假设我们的数据库还有一个名为Department 的\表,它具有以下数据,如下面的屏幕截图所示: 正如我们所观察到的,两个表都包含一个相似的列emp_fname。 SELECT e.emp_id, emp_fname, emp_lname,location,dept_name FROM Employee e INNER JOIN department d ON e.emp_id= d.dept_id; 输出 在执行上述命令时,我们将得到以下输出,其中显示以下错误:如果我们在没有表Alias的情况下使用它,一个子句中的列 'emp_fname' 是不明确的。 因此,如果我们想避免上述错误,我们将使用表Alias。 在下面的命令中,我们将使用 PostgreSQL Inner Join 子句来组合Employee 和 Department 表;\并对其执行表Alias。 SELECT e.emp_id, e.emp_fname, emp_lname, location, dept_name FROM Employee e INNER JOIN department d ON e.emp_id= d.dept_id ORDER BY location desc; 输出 执行上述命令后,我们将得到以下输出: 如果我们不想在命令中使用Alias概念,那么 PostgreSQL 会使用表名来查找列名,这使得语句更冗长且可读性更低,如下面的示例所示 SELECT emp_fname, emp_lname,location FROM employee INNER JOIN employee_details ON employee.emp_id= employee_details.emp_id; 输出 执行上述语句后,我们将得到以下输出: 为冗长的表名执行表Alias的示例 为了使我们的命令更具可读性并节省一些输入时间来编写冗长的表名,我们可以使用表Alias。 例如,不要在命令中使用以下表达式, Long_table_name.column_name 我们可以给表long_table_name一个Alias,如下所示: Long_table_name AS alias 并借助表Alias引用表Long_table_name 中的column_name: alias.column_name 在 PostgreSQL 自联接子句中执行表Alias 假设我们想在Self-join 子句中使用表Alias。而自连接子句用于将一个表与其自身合并,它在一个语句中多次引用一个相似的表。 在下面的示例中,我们将展示如何在表Alias的帮助下在类似命令中两次引用Customer表: SELECT c.first_name Customer, o.first_name Orders FROM Customer c INNER JOIN Customer o ON o.order_id = c.order_id ORDER BY Orders; 输出 执行上述命令后,我们将得到以下结果: 概述 在 PostgreSQL 表Alias部分,我们学习了以下主题: 我们将使用PostgreSQL 表Alias在执行命令时临时为表赋予一个新名称。 我们将在 PostgreSQL Join 子句中实现表Alias。 PostgreSQL Functions PostgreSQL Date & Time Function