存储在数据库表中的数据一般不是应用程序所需要的格式,下面举几个 例子。
在上述每个例子中,存储在表中的数据都不是应用程序所需要的。我们需要直接从数据库中检索出转换、计算或格式化过的数据,而不是检索出数据,然后再在客户端应用程序中重新格式化。
字段(field)基本上与列(column)的意思相同,经常互换使用,不过数据库列一般称为列,而术语 字段 通常用在计算字段的连接上
拼接(concatenate):将值联结到一起(将一个值附加到另一个值)构成单个值。
在 SQL 中的 SELECT
语句中,可使用一个特殊的操作符来拼接两个列。根据所使用的 DBMS,此操作符可用加号(+
)或两个竖杠(||
)表示。在 MySQL 和 MariaDB 中,必须使用特殊的函数。
示例:将学生姓名和 ID 拼接在一起
SELECT Concat(name, '(', student_id, ')') FROM students;
别名(alias)是一个字段或值的替换名。别名用 AS
关键字赋予。
示例:将学生姓名和 ID 拼接在一起,输出的字段为 name_str
SELECT Concat(name, '(', student_id, ')') AS name_str FROM students;
计算字段的另一常见用途是对检索出的数据进行算术运算。
示例:orders
表包含收到的所有订单,order_items
表包含每个订单中的各项物品。下面的 SQL 语句检索订单号 66600 中的所有物品
SELECT prod_id, quantity, price FROM order_items WHERE order_id = 66600;-- 计算SELECT prod_id, quantity, price, quantity * price AS expanded_price WHERE order_id = 66600;
操作符 | 说明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |