读书笔记--SQL必知必会07--创建计算字段
来源:互联网 发布:arma预测C 源码 编辑:程序博客网 时间:2024/06/06 05:07
7.1 计算字段
字段(field),基本与列(column)含义相同。
利用计算字段可以直接从数据库中检索出转换、计算或格式化过的数据。
计算字段不实际存在于数据库表中,是运行时在SELECT语句内创建的。
需要特别注意:从客户端来看,计算字段的数据与实际表列的返回方式相同。只有DBMS能够区分SELECT语句中的实际表列和计算字段。
7.2 拼接字段
拼接(concatenate),将值联结到一起(将一个值附加到另一个值)构成单个值。
在一些DBMS的SELECT语句中,可使用加号“+”或两个竖杠“||”来拼接两个列。
但在MySQL和MariaDB中,必须使用特殊的函数。
新计算列实际上没有名字,只是一个值,可利用AS关键字赋予别名来引用它。
别名(alias),有时也叫导出列(derived column),是一个字段或值的替换名。
建议使用一个含义清楚的单词,或者将多个单词的列名重命名为一个词汇当作别名
MariaDB [sqlbzbh]> SELECT * FROM Vendors;+---------+-----------------+-----------------+------------+------------+----------+--------------+| vend_id | vend_name | vend_address | vend_city | vend_state | vend_zip | vend_country |+---------+-----------------+-----------------+------------+------------+----------+--------------+| BRE02 | Bear Emporium | 500 Park Street | Anytown | OH | 44333 | USA || BRS01 | Bears R Us | 123 Main Street | Bear Town | MI | 44444 | USA || DLL01 | Doll House Inc. | 555 High Street | Dollsville | CA | 99999 | USA || FNG01 | Fun and Games | 42 Galaxy Road | London | NULL | N16 6PS | England || FRB01 | Furball Inc. | 1000 5th Avenue | New York | NY | 11111 | USA || JTS01 | Jouets et ours | 1 Rue Amusement | Paris | NULL | 45678 | France |+---------+-----------------+-----------------+------------+------------+----------+--------------+6 rows in set (0.00 sec)MariaDB [sqlbzbh]> MariaDB [sqlbzbh]> MariaDB [sqlbzbh]> SELECT Concat(vend_name, '---', vend_country) FROM Vendors;+----------------------------------------+| Concat(vend_name, '---', vend_country) |+----------------------------------------+| Bear Emporium---USA || Bears R Us---USA || Doll House Inc.---USA || Fun and Games---England || Furball Inc.---USA || Jouets et ours---France |+----------------------------------------+6 rows in set (0.00 sec)MariaDB [sqlbzbh]> MariaDB [sqlbzbh]> SELECT Concat(vend_name, '---', vend_country) AS vend_title FROM Vendors;+-------------------------+| vend_title |+-------------------------+| Bear Emporium---USA || Bears R Us---USA || Doll House Inc.---USA || Fun and Games---England || Furball Inc.---USA || Jouets et ours---France |+-------------------------+6 rows in set (0.00 sec)MariaDB [sqlbzbh]>
7.3 执行算术计算
可以利用计算字段对检索出的数据进行算术计算。
SQL支持基本算术操作符:+ - * /
圆括号可用来区分优先顺序。
MariaDB [sqlbzbh]> SELECT prod_id, quantity, item_price FROM OrderItems WHERE order_num = 20008;+---------+----------+------------+| prod_id | quantity | item_price |+---------+----------+------------+| RGAN01 | 5 | 4.99 || BR03 | 5 | 11.99 || BNBG01 | 10 | 3.49 || BNBG02 | 10 | 3.49 || BNBG03 | 10 | 3.49 |+---------+----------+------------+5 rows in set (0.00 sec)MariaDB [sqlbzbh]> SELECT prod_id, quantity, item_price, quantity*item_price AS expanded_price FROM OrderItems WHERE order_num = 20008;+---------+----------+------------+----------------+| prod_id | quantity | item_price | expanded_price |+---------+----------+------------+----------------+| RGAN01 | 5 | 4.99 | 24.95 || BR03 | 5 | 11.99 | 59.95 || BNBG01 | 10 | 3.49 | 34.90 || BNBG02 | 10 | 3.49 | 34.90 || BNBG03 | 10 | 3.49 | 34.90 |+---------+----------+------------+----------------+5 rows in set (0.00 sec)MariaDB [sqlbzbh]>
没有FROM子句的SELECT语句,可以简单地访问和处理表达式。
MariaDB [sqlbzbh]> SELECT 3*2;+-----+| 3*2 |+-----+| 6 |+-----+1 row in set (0.00 sec)MariaDB [sqlbzbh]> MariaDB [sqlbzbh]> SELECT Now();+---------------------+| Now() |+---------------------+| 2016-12-22 23:14:40 |+---------------------+1 row in set (0.00 sec)MariaDB [sqlbzbh]>
阅读全文
0 0
- 读书笔记--SQL必知必会07--创建计算字段
- Database - 读书笔记--SQL必知必会07--创建计算字段
- SQL必知必会--创建计算字段
- SQL 创建计算字段
- sql学习创建计算字段
- [My SQL] 创建计算字段
- SQL必知必会 笔记 第七章 创建计算字段
- SQL必知必会(4)——创建计算字段
- [MySQL必知必会]创建计算字段
- SQL— 创建计算字段(以 PostgreSQL为例)
- 《MySQL必知必会学习笔记》:创建计算字段
- 创建计算字段
- MySQL-创建计算字段
- MySQL创建计算字段
- MySQL创建计算字段
- 读书笔记--SQL必知必会13--创建高级联结
- 第十章 创建计算字段
- MySQL创建计算字段.md
- 人工“碳”索意犹尽,智能“硅”来未可知(深度学习入门系列之二)
- 数据结构与算法题目汇总
- Testing
- Struts2之方法拦截器
- 读书笔记--SQL必知必会06--用通配符进行过滤
- 读书笔记--SQL必知必会07--创建计算字段
- 最长的0,1相等子串
- 读书笔记--SQL必知必会08--使用函数处理数据
- 读书笔记--SQL必知必会09--汇总数据
- 深入浅出ES6---第一篇
- Docker
- Docker
- Linux history 命令记录加执行时间戳以及记录到日志
- Docker