计算字段
字段 ~和列的意思基本相同,可互换使用,不过数据库-列一般称为列,而术语-字段通常与计算字段一起使用。
计算字段 ~由于数据库中的数据不是应用程序所需要的格式,通常需要对其进行一定的计算才能交付给应用。即直接从数据库检索出转换、计算或格式化过的数据,检索这一过程中完成,而不是在应用中完成。
拼接字段
将多个列拼接起来形成新的字段~
方法:
- SQL server 中使用 + 进行拼接
- DB2、Oracle、PostgreSQL、SQLite 使用 || 进行拼接
- MySQL 使用函数 CONCAT() 进行拼接
以MySQL为例,
输入▼
# 从books表中检索author和title这俩列
# 并按拼接字段来输出
SELECT CONCAT(author,' wrote ',title)
FROM books;
输出▼
+-----------------------------------------------------------------------+
| concat(author,' wrote ',title) |
+-----------------------------------------------------------------------+
| Pruitt, et al. wrote Teach Yourself GIMP in 24 Hours |
| Michael Morgan wrote Java 2 for Professional Developers |
| Thomas Down wrote Installing Debian GNU/Linux |
| Thomas Schenk wrote Caldera OpenLinux system Administration Unleashed |
+-----------------------------------------------------------------------+
别名-alias
使用别名来表示这个拼接字段,这样客户端就可以引用之了,就像它是一个实际的表列一样。
输入▼
# 从books表中检索author和title这俩列
# 将拼接字段别名称为book_message
# 将别名输出
SELECT CONCAT(author,' wrote ',title)
AS book_message
FROM books;
输出▼
+-----------------------------------------------------------------------+
| book_about |
+-----------------------------------------------------------------------+
| Pruitt, et al. wrote Teach Yourself GIMP in 24 Hours |
| Michael Morgan wrote Java 2 for Professional Developers |
| Thomas Down wrote Installing Debian GNU/Linux |
| Thomas Schenk wrote Caldera OpenLinux system Administration Unleashed |
+-----------------------------------------------------------------------+
执行算术计算
对检索出来的数据进行算术计算~
一般的算术操作符有:
- +
- -
- ×
- ÷
输入▼
# 从OrderItems表中检索多列
# 并用别名标记expanded_price那个计算字段quantity*price
# 将满足order_num = 20008 的行输出
SELECT id,
quantity,
iTem_price,
quantity*price AS expanded_price
FROM OrderItems
WHERE order_num = 20008