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

news2025/1/16 19:53:38

第7课、创建计算字段

1)拼接字段

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

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 时需要使用的语句。

SELECT Concat(vend_name,'(',vend_country,')')
FROM Vendors
ORDER BY vend_name;

输出结果:

请添加图片描述

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

SELECT RTRIM(vend_name) + '(' + RTRIM(vend_country) + ')'
FROM Vendors
ORDER BY vend_name;

输出结果:

请添加图片描述

RTRIM() 去掉字符串右边的空格。
TRIM() 去掉字符串左右两边的空格。
LTRIM 去掉字符串左边的空格。
2)使用别名
AS:别名 别名用 AS 关键字。 因拼接成的字段值,并没有名称,所以为了在客户端上能够引用到这个值,需要使用别名。

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

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 中的所有物品。

SELECT prod_id, quantity, item_price
FROM OrderItems
Where order_num = 20008;

输出结果:

请添加图片描述

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

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 表;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1197456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rust的崛起:现代必备编程语言,是时候该考虑加入学习了

在不断变化的编程环境中,新的语言和框架如雨后春笋般涌现,需要一个真正强大且设计良好的工具才能脱颖而出。在这些工具中,Rust 已成为效率、安全性和性能的灯塔。从它作为 Mozilla 的一个副项目到它在软件行业中不可否认的增长,Ru…

PHP中传值与引用的区别

在PHP中,变量的传递方式主要分为传值和传引用两种。这两种方式在操作中有一些重要的区别,影响着变量在函数调用或赋值操作中的表现。下面详细解释一下这两种传递方式的区别。 传值(By Value) 传值是指将变量的值复制一份传递给函…

Python环境安装、Pycharm开发工具安装(IDE)

Python下载 Python官网 Python安装 Python安装成功 Pycharm集成开发工具下载(IDE) PC集成开发工具 Pycharm集成开发工具安装(IDE) 安装完成 添加环境变量(前面勾选了Path不用配置) (1&…

个人技术支持

本人目前从事 cnc 自动编程相关职业,主要还是做上位机开发,2021年之前一直从事 Unity3d 开发,本来也是个游戏程序员,后面也是大环境不好,改做了上位机开发,没想到上位机行业现在也是这么不好找工作。 最近…

java 类和对象 (图文搭配,万字详解!!)

关于java类和对象,我们要掌握几个重点! 1.类的定义方式以及对象的实例化 2.类中的成员变量和成员方法的使用 3.对象的整个初始化过程 4.封装特性 5.代码块 目录 一、面向对象的初步认识 1.1 什么是面向对象 1.2 面向对象与面向过程 1.2.1传统洗…

【电路笔记】-节点电压分析和网状电流分析

节点电压分析和网状电流分析 文章目录 节点电压分析和网状电流分析1、节点电压分析1.1 概述1.2 示例 2、网格电流分析2.1 概述2.2 示例 3、总结 正如我们在上一篇介绍电路分析基本定律的文章中所看到的,基尔霍夫电路定律 (KCL) 是计算任何电路中未知电压和电流的强大…

[蓝桥杯复盘] 第 3 场双周赛20231111

[蓝桥杯复盘] 第 3 场双周赛20231111 总结深秋的苹果1. 题目描述2. 思路分析3. 代码实现 鲜花之海1. 题目描述2. 思路分析3. 代码实现 斐波拉契跳跃2. 思路分析3. 代码实现 星石传送阵2. 思路分析3. 代码实现 六、参考链接 总结 做了后4题。https://www.lanqiao.cn/oj-contes…

SqlServerAgent当前未运行,因此无法将此操作通知他。错误:22022

问题:SqlServerAgent当前未运行,因此无法将此操作通知他。(Microsoft SQL Server,错误:22022) 解决方案: 1.Win R 输入 services.msc 后,点击【确定】按钮 2.选择SQL Server 代理…

ObjectArx动态加载及卸载自定义菜单

上节中我们介绍了如何制作自定义菜单即cuix文件:给CAD中添加自定义菜单CUIX-CSDN博客https://blog.csdn.net/qianlixiaomage/article/details/134349794在此基础上,我们开发时通常需要在ObjectArx程序中进行动态的添加或者删除cuix菜单。 创建ObjectArx…

php性能追踪与分析

PHP扩展下载:https://pecl.php.net/package/xhprof php.ini配置 [xhprof] extensionxhprof xhprof.output_dir/temp/xhprof auto_prepend_file /temp/inject_xhprof.php if(php_sapi_name() cli) {return; }$xhprof_config[enabled]1;if(!empty($xhprof_config…

数据挖掘:分类,聚类,关联关系,回归

数据挖掘: 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要学&…

C语言求解猴子分桃问题

题目: 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了 一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分 成五份,又多了一个,它同样把多…

基于springboot+vue的校园闲置物品交易系统

运行环境 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven 项目介绍 本文从管…

补坑:Java的字符串String类(2):一些OJ题目

有关String的方法可以看看我上一篇博客 补坑:Java的字符串String类(1)-CSDN博客 387. 字符串中的第一个唯一字符 - 力扣(LeetCode) 给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它…

常见面试题-分布式锁

Redisson 分布式锁?在项目中哪里使用?多久会进行释放?如何加强一个分布式锁? 答: 什么时候需要使用分布式锁呢? 在分布式的场景下,使用 Java 的单机锁并不可以保证多个应用的同时操作共享资源…

《红蓝攻防对抗实战》十一.内网穿透之利用SSH协议进行隧道穿透

利用DNS协议进行隧道穿透 一.前言二.前文推荐三. 利用SSH协议进行隧道穿透1.SSH隧道-本地端口转发2.SSH隧道-远程端口转发3.SSH隧道-动态端口转发 四.本篇总结 一.前言 SSH(Secure Shell)协议是一种加密的网络传输协议,它可以在不安全的网络…

Zephyr-7B论文解析及全量训练、Lora训练

文章目录 一、Zephyr:Direct Distillation of LM Alignment1.1 开发经过1.1.1 Zephyr-7B-alpha1.1.2 Zephyr-7B-beta 1.2 摘要1.3 相关工作1.4 算法1.4.1 蒸馏监督微调(dSFT)1.4.2 基于偏好的AI反馈 (AIF)1.4.3 直接蒸馏偏好优化&…

VB.NET—Bug调试(参数话查询、附近语法错误)

目录 前言: BUG是什么! 事情的经过: 过程: 错误一: 错误二: 总结: 前言: BUG是什么! 在计算机科学中,BUG是指程序中的错误或缺陷,它通过是值代码中的错误、逻辑错误、语法错误、运行时错误等相关问题,这些问题…

Leetcode2833. 距离原点最远的点

Every day a Leetcode 题目来源:2833. 距离原点最远的点 解法1:贪心 要使得到达的距离原点最远的点,就看 left 和 right 谁大,将 left 和 right 作为矢量相加,再往同方向加上 underline。 答案即为 abs(left - rig…

Adobe premiere裁剪视频尺寸并转为GIF格式

第一步:裁剪视频 修改序列设置以适应裁剪之后的图像区域;序列中的编辑模式不能使用默认的,这里使用的是“DNxHR_2K” 第二步:导出设置