SQL必知会(二)-SQL查询篇(6)-创建计算字段

第7课、创建计算字段

|------------|
| 1)拼接字段 |

需求:检索Vendors 表包含供应商的名称和地址的所有信息,返回结果需要把地址括号起来。

sql 复制代码
SELECT vend_name + '(' + vend_country + ')'
FROM Vendors
ORDER BY vend_name;

-- 以下例子与上面例子相同工作
SELECT vend_name || '(' || vend_country || ')'
FROM Vendors
ORDER BY vend_name;
-- 该 || 语法在SQL Server 管理器里无法被标识,具体原因未清楚,先暂时不管。

以下使用 MySQL 或 MariaDB 时需要使用的语句。

sql 复制代码
SELECT Concat(vend_name,'(',vend_country,')')
FROM Vendors
ORDER BY vend_name;

输出结果:

去掉显示结果的那些排版空格,需要使用 RTRIM 函数

sql 复制代码
SELECT RTRIM(vend_name) + '(' + RTRIM(vend_country) + ')'
FROM Vendors
ORDER BY vend_name;

输出结果:

复制代码
RTRIM() 去掉字符串右边的空格。
TRIM() 去掉字符串左右两边的空格。
LTRIM 去掉字符串左边的空格。

|------------|
| 2)使用别名 |

AS:别名 别名用 AS 关键字。 因拼接成的字段值,并没有名称,所以为了在客户端上能够引用到这个值,需要使用别名。

需求:对需求1)拼接字段后产生新的字段值,并对该字段起个新的名称 vend_title。

sql 复制代码
SELECT RTRIM(vend_name) + '(' + RTRIM(vend_country) + ')'
AS vend_title
FROM Vendors
ORDER BY vend_name;
-- 输出结果为 vend_name 替换为 vend_title 名称。返回 vend_name 字段的所有信息

-- 使用 MySQL 和 MariaDB:
SELECT Concat(RTrim(vend_name),'(',
			 RTrim(vend_country),')') AS vend_title
FROM Vendors
ORDER BY vend_name;

输出结果:

|--------------|
| 3)执行算术计算 |

对检索的数据进行算术计算。

需求:Orders 表包含收到的所有订单,OrderItems 表包含每个订单中的各项物品。检索订单号 20088 中的所有物品。

sql 复制代码
SELECT prod_id, quantity, item_price
FROM OrderItems
Where order_num = 20008;

输出结果:

需求:汇总物品的价格(单价乘以订购数量)*

sql 复制代码
SELECT prod_id,
		quantity,
		    quantity*item_price AS expanded_price
FROM OrderItems
WHERE order_num = 20008;

输出结果:

总结

拼接字段

复制代码
-- 列1+列2+其他字符串=拼接后的一列字符串
SELECT 列1 + '(' + 列2 + ')'
FROM 表;

-- RTRIM() 去掉字符串右边的空格
SELECT RTRIM(列1 + '(' + 列2 + ')'
FROM 表;

AS:给某列名称起另外一个名称。

复制代码
SELECT 列
AS 新列名
FROM 表;

对检索的数据进行算术计算

复制代码
SELECT 列1,列2..,
		    列与列之间的计算方程
FROM 表;
相关推荐
CYRUS STUDIO2 分钟前
Frida 源码编译全流程:自己动手编译 frida-server
android·安全·逆向
vegetablec2 分钟前
如何用 location.reload(true) 强制浏览器从服务器刷新页面
jvm·数据库·python
2301_814809862 分钟前
如何让导航栏的下落动画效果更缓慢?
jvm·数据库·python
Elastic 中国社区官方博客5 分钟前
多大才算太大?Elasticsearch 容量规划最佳实践
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
程序员陆业聪6 分钟前
Android内存优化:当LeakCanary遇上协程,内存泄漏治理进入新阶段
android
InfinteJustice7 分钟前
如何加固SQL通信安全_启用SSL加密确保数据传输安全
jvm·数据库·python
切糕师学AI7 分钟前
深入解析SqlSugar:.NET领域的高性能多数据库ORM框架
数据库·.net·orm
城数派8 分钟前
2025年我国乡镇的平均高程数据(Excel\Shp格式)
数据库·arcgis·信息可视化·数据分析·excel
2301_817672269 分钟前
C#怎么实现RSA非对称加密 C#如何用RSA算法进行公钥加密私钥解密和数字签名【安全】
jvm·数据库·python
Greyson110 分钟前
Go语言中纯函数调用的并发安全性详解
jvm·数据库·python