SQL视图格式化数据,视图的另一常见用途是重新格式化检索出的数据。下面的SELECT语句在单个组合计算列中返回供应商名和位置:
SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'
AS vend_title
FROM Vendors
ORDER BY vend_name;
输出结果如下:
vend_title
-----------------------------------------------------------
Bear Emporium (USA)
Bears R Us (USA)
Doll House Inc. (USA)
Fun and Games (England)
Furball Inc. (USA)
Jouets et ours (France)
下面是相同的语句,但使用了||
语法(如拼接字段所述):
SELECT RTRIM(vend_name) || ' (' || RTRIM(vend_country) || ')'
AS vend_title
FROM Vendors
ORDER BY vend_name;
输出结果如下:
vend_title
-----------------------------------------------------------
Bear Emporium (USA)
Bears R Us (USA)
Doll House Inc. (USA)
Fun and Games (England)
Furball Inc. (USA)
Jouets et ours (France)
现在,假设经常需要这个格式的结果。我们不必在每次需要时执行这种拼接,而是创建一个视图,使用它即可。把此语句转换为视图,可按如下进行:
CREATE VIEW VendorLocations AS
SELECT RTRIM(vend_name) + ' (' + RTRIM(vend_country) + ')'
AS vend_title
FROM Vendors;
下面是使用||
语法的相同语句:
CREATE VIEW VendorLocations AS
SELECT RTRIM(vend_name) || ' (' || RTRIM(vend_country) || ')'
AS vend_title
FROM Vendors;
这条语句使用与以前SELECT语句相同的查询创建视图。要检索数据,创建所有的邮件标签,可如下进行:
SELECT * FROM VendorLocations;
输出结果如下:
vend_title
-----------------------------------------------------------
Bear Emporium (USA)
Bears R Us (USA)
Doll House Inc. (USA)
Fun and Games (England)
Furball Inc. (USA)
Jouets et ours (France)
说明:SELECT约束全部适用
在前面提到,各种DBMS中用来创建视图的语法相当一致。那么,为什么会有多种创建视图的语句版本呢?因为视图只包含一个SELECT语句,而这个语句的语法必须遵循具体DBMS的所有规则和约束,所以会有多个创建视图的语句版本。
酷客网相关文章:
评论前必须登录!
注册