SQL必知必会 第7课 创建计算字段
主要目标是理解什么是计算字段,如何创建计算字段,以及如何从应用程序中使用别名引用它们。
7.1 计算字段
存储在数据库表中的数据一般不是应用程序所需要的格式。所以我们需要直接从数据库中检索出转换、计算或格式化过的数据,而不是检索出数据,再在客户端应用程序中重新格式化(主要因为在数据库上完成这些操作要比在客户端上快得多)。这就需要计算字段的帮忙。
计算字段不实际存在于数据库表中,而是运行时在SELECT语句内创建的。
【字段: 其含义与列相同,字段这个术语通常在计算字段这种场合下使用。】
只有数据库知道SELECT语句中哪些列是实际的表列,哪些列是计算字段。
7.2 拼接字段
拼接: 将值联结在一起(将一个值附加到另一个值)构成单个值。
不同的DBMS有不同的操作符。
SQL Server使用 + 号,DB2, Oracle, PostgreSQL 和 SQLite使用 ||。
select vend_name + '(' + ved_country + ')'
FROM vendors
ORDER BY vend_name;
select vend_name + '||' + ved_country + '||'
FROM vendors
ORDER BY vend_name;
MySQL 或 MariaDB需要这样写:
select concat(vend_name, '(', vend_country, ')')
FROM vendors
ORDER BY vend_name;
使用别名,通过AS关键字赋予。
select concat(vend_name, '(', vend_country, ')')
As vend_titile
FROM vendors
ORDER BY vend_name;
注意:
别名的名字可以是一个单词,也可以是一个字符串(需要括在引号中),但是这会给客户端应用带来各种问题,所以别名最常见的使用是将多个单词的列名重命名为一个单词的名字。
7.3 执行算术计算
计算字段的另一常见用途是对检索出的数据进行算术计算。
select prod_id, quantity, item_price
FROM orderitems
where order_num = 20008;
select prod_id, quantity, item_price,
quantity*item_price AS expanded_price
FROM orderitems
where order_num = 20008;
SQL支持+, -, *, /
基本算术操作符,圆括号可以用来区分优先顺序。
还没有评论,来说两句吧...