oracle+table+别名,2- Oracle别名

OracleALIASES功能允许为列或表创建临时名称,以提高SQL语句的可读性和简洁性。列别名常用于美化结果集的列标题,而表别名则在自连接或简化长表名时特别有用。别名在SQL语句的作用域内有效,若包含空格则需用引号包围。示例展示了在列和表上如何使用别名,包括在连接查询和自连接场景中的应用。
摘要由CSDN通过智能技术生成

Oracle ALIASES可用于为列或表创建临时名称(或叫作别名)。

列别名用于使结果集中的列标题更容易阅读。

表别名用于缩短SQL,或者当执行自连接时(即:在FROM子句中多次列出同一个表)以使其更容易阅读。

句法

Oracle / PLSQL中的列别名的语法是:

column_name AS alias_name

或者-

Oracle / PLSQL中的表别名语法是:

table_name alias_name

参数

column_name

想要使用别名的列的原始名称。

table_name

想要使用别名的表的原始名称。

alias_name

要分配的临时名称(也是使用的别名名称)。

注意

如果alias_name包含空格,则必须用引号括起alias_name。

在对列名称进行别名时,可以使用空格。 但是,在对表名进行别名时,通常不要使用空格。

alias_name仅在SQL语句的作用域内有效。

示例1 - 在列上使用别名

通常,别名用于使结果集中的列标题更容易阅读。 例如,将字段连接在一起时,可能在结果中使用别名。

例如:

SELECT contact_id, first_name || last_name AS NAME

FROM contacts

WHERE last_name = 'Anderson';

在本例中将第二列(即:first_name和last_name 连接)使用别名为NAME。 因此,当返回结果集时,NAME将显示为第二列的标题。 因为alias_name不包含任何空格,所以不需要在引号中包含alias_name。

但是,使用引号编写此示例也是完全没有问题的,如下所示:

SELECT contact_id, first_name || last_name AS "NAME"

FROM contacts

WHERE last_name = 'Anderson';

接下来,再来看看另外一个例子,需要在引号中包含alias_name。

例如:

SELECT contact_id, first_name || last_name AS "CONTACT NAME"

FROM contacts

WHERE last_name = 'Anderson';

在此示例中,我们将第二列(即:first_name和last_name连接)使用一个别名为“CONTACT NAME”。 由于alias_name中有空格,因此“CONTACT NAME”必须用引号括起来。

示例2 - 在表上使用别名

当在表上创建别名时,它是因为要在FROM子句中多次列出同一个表名(即:自连接),或者想要缩短表的名称以缩短SQL语句,使SQL语句更容易阅读。

让我们来看看如何在Oracle / PLSQL中对表名使用别名。

例如:

SELECT p.product_id, p.product_name, categories.category_name

FROM products p

INNER JOIN categories

ON p.category_id = categories.category_id

ORDER BY p.product_name ASC, categories.category_name ASC;

在此示例中,products表创建了一个别名为p。 现在在这个SQL语句中,可以参考products表为p,也就是可以直接写p来表示products表。

创建表别名时,不必在FROM子句中列出的所有表创建别名。可以选择在任何或所有表上创建别名。

例如,可以修改上面的示例,并为 categories 表创建别名。

SELECT p.product_id, p.product_name, c.category_name

FROM products p

INNER JOIN categories c

ON p.category_id = c.category_id

ORDER BY p.product_name ASC, c.category_name ASC;

现在我们有一个名称为c的categories表别名,和一个名称为p的products表的别名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值