SQL 算术运算符:加法、减法、乘法、除法和取模的用法

SQL Server中的存储过程

什么是存储过程?

存储过程是一段预先编写好的 SQL 代码,可以保存在数据库中以供反复使用。它允许将一系列 SQL 语句组合成一个逻辑单元,并为其分配一个名称,以便在需要时调用执行。存储过程可以接受参数,使其更加灵活和通用。

存储过程语法

创建存储过程的语法如下:

CREATE PROCEDURE 存储过程名称
AS
SQL语句
GO;

执行存储过程的语法如下:

EXEC 存储过程名称;

演示数据库

以下是 Northwind 示例数据库中 “Customers” 表的部分内容:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

存储过程示例

以下 SQL 语句创建了一个名为 “SelectAllCustomers” 的存储过程,用于从 “Customers” 表中选择所有记录:

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

执行上述存储过程的方法如下:

EXEC SelectAllCustomers;

带有一个参数的存储过程

以下 SQL 语句创建了一个存储过程,该过程从 “Customers” 表中选择特定城市的客户:

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

执行上述存储过程的方法如下:

EXEC SelectAllCustomers @City = 'London';

带有多个参数的存储过程

设置多个参数非常简单。只需逐个列出每个参数及其数据类型,用逗号分隔。

以下 SQL 语句创建了一个存储过程,该过程从 “Customers” 表中选择特定城市和特定邮政编码的客户:

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

执行上述存储过程的方法如下:

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';

SQL 注释用于提供对 SQL 语句的解释,或者在调试和维护过程中临时禁用某些语句。注释不会被数据库执行。

单行注释

单行注释以 -- 开头,后面的文本将被注释掉。

-- 这是单行注释
SELECT * FROM Customers;

在单行注释中,-- 后面的文本会被忽略。

单行注释在语句末尾

SELECT * FROM Customers -- WHERE City='Berlin';

在这个例子中,-- 后面的文本和语句末尾的内容都被忽略。

多行注释

多行注释以 /* 开头,以 */ 结尾,之间的所有文本都被注释掉。

/* 这是
多行注释 */
SELECT * FROM Customers;

在多行注释中,/**/ 之间的文本都被忽略。

多行注释忽略多条语句

/* SELECT * FROM Customers;
SELECT * FROM Products;
SELECT * FROM Orders;
SELECT * FROM Categories; */
SELECT * FROM Suppliers;

在这个例子中,/**/ 之间的所有语句都被注释掉。

部分注释

要仅忽略语句的一部分,可以在适当位置使用 /* */ 注释。

SELECT CustomerName, /*City,*/ Country FROM Customers;

在这个例子中,/**/ 之间的 City 列会被注释掉,而其他部分保持不变。

部分注释语句

SELECT * FROM Customers WHERE (CustomerName LIKE 'L%'
OR CustomerName LIKE 'R%' /*OR CustomerName LIKE 'S%'
OR CustomerName LIKE 'T%'*/ OR CustomerName LIKE 'W%')
AND Country='USA'
ORDER BY CustomerName;

在这个例子中,/**/ 之间的部分条件被注释掉,但其他条件保持不变。

SQL 算术运算符

加法 (+): 用于将两个值相加。

SELECT column1 + column2 AS SumResult FROM tableName;

减法 (-): 用于从第一个值中减去第二个值。

SELECT column1 - column2 AS Difference FROM tableName;

乘法 (*): 用于将两个值相乘。

SELECT column1 * column2 AS Product FROM tableName;

除法 (/): 用于将第一个值除以第二个值。

SELECT column1 / column2 AS Quotient FROM tableName;

取模 (%): 返回除法的余数。

SELECT column1 % column2 AS Modulus FROM tableName;

SQL 位运算符

按位与 (&): 对二进制数进行按位与运算。

SELECT column1 & column2 AS BitwiseAND FROM tableName;

按位或 (|): 对二进制数进行按位或运算。

SELECT column1 | column2 AS BitwiseOR FROM tableName;

按位异或 (^): 对二进制数进行按位异或运算。

SELECT column1 ^ column2 AS BitwiseXOR FROM tableName;

SQL 比较运算符

等于 (=): 判断两个值是否相等。

SELECT column1 FROM tableName WHERE column1 = column2;

大于 (>): 判断一个值是否大于另一个值。

SELECT column1 FROM tableName WHERE column1 > column2;

小于 (<): 判断一个值是否小于另一个值。

SELECT column1 FROM tableName WHERE column1 < column2;

大于等于 (>=): 判断一个值是否大于或等于另一个值。

SELECT column1 FROM tableName WHERE column1 >= column2;

小于等于 (<=): 判断一个值是否小于或等于另一个值。

SELECT column1 FROM tableName WHERE column1 <= column2;

不等于 (<>!=): 判断两个值是否不相等。

SELECT column1 FROM tableName WHERE column1 <> column2;

SQL 复合运算符

复合运算符是一组用于执行多个操作的运算符。

加等于 (+=): 将右侧的值添加到左侧的值,并将结果分配给左侧的值。

UPDATE tableName SET column1 += 10 WHERE condition;

减等于 (-=): 从左侧的值中减去右侧的值,并将结果分配给左侧的值。

UPDATE tableName SET column1 -= 5 WHERE condition;

乘等于 (*=): 将左侧的值乘以右侧的值,并将结果分配给左侧的值。

UPDATE tableName SET column1 *= 2 WHERE condition;

除等于 (/=): 将左侧的值除以右侧的值,并将结果分配给左侧的值。

UPDATE tableName SET column1 /= 3 WHERE condition;

取模等于 (%=): 将左侧的值除以右侧的值并取余数,结果分配给左侧的值。

UPDATE tableName SET column1 %= 4 WHERE condition;

SQL 逻辑运算符

逻辑运算符用于连接和改变条件语句的逻辑关系。

AND: 如果由 AND 分隔的所有条件都为 TRUE,则为 TRUE

SELECT * FROM tableName WHERE condition1 AND condition2;

OR: 如果由 OR 分隔的任何条件都为 TRUE,则为 TRUE

SELECT * FROM tableName WHERE condition1 OR condition2;

NOT: 如果条件不为 TRUE,则显示记录。

SELECT * FROM tableName WHERE NOT condition;

以上 ANDORNOT 可以结合使用,以满足更复杂的查询需求。

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

稻盛和夫:毕生经验总结出的36条管理经验,总有一条能戳中你。

大家好&#xff0c;我是老原。 进入职场&#xff0c;每个道理在每个人身上都有不同的理解。 大家经理不同&#xff0c;血泪自然不同&#xff0c;毕竟人类的悲喜并不相通&#xff0c;只有总结下来的经验才最有用。 我平时给你们分享的硬干货比较多&#xff0c;这种软道理写的…

FL Studio(水果软件)2024最新中文版云盘下载

如今&#xff0c;越来越多的音乐人选择使用音乐制作软件来进行音乐的创作&#xff0c;一台电脑、一款软件以及一个外接MIDI就是一个小型的音乐工作站。FL Studio成了音乐界萌新的首选&#xff0c;目前最新的版本为FL Studio2024版本。 你可以不知道如何做音乐&#xff0c;但是…

Linux环境下ARM开发

目录 前言ARM启动及开发基础1.Cortex-A架构2.启动方式3.汇编基础4.Makefile语法基础5.Makefile补充6.编译下载 结语 前言 主要介绍基于linux开发环境下&#xff0c;如何开发ARM A7 ARM启动及开发基础 1.Cortex-A架构 1&#xff09;Cortex-A7运行模式 模式说明User(USR)用户模…

Neo4j 数据库管理 数据备份与恢复(头歌)

文章目录 第1关&#xff1a;数据备份与恢复任务描述相关知识数据备份数据导入 编程要求测试说明答案测试前准备Cypher 代码数据备份与导入 第1关&#xff1a;数据备份与恢复 任务描述 本关任务&#xff1a;熟练掌握数据备份与恢复。 相关知识 为了完成本关任务&#xff0c;…

你好!插值查找【JAVA】

1.初次相识 插值查找&#xff08;interpolation search&#xff09;是一种根据待查找关键字在有序数组中的大致位置决定查找范围的查找算法。插值查找与二分查找类似&#xff0c;区别在于插值查找对于待查找关键字在数组中的位置进行估计&#xff0c;从而更精准地定位到待查找关…

Git and solve the problem denied to xx

创建仓库 配置Git git config user.name git config user.email git config MINGW64 /e/GithubCode $ git config --global user.name "name"MINGW64 /e/GithubCode $ git config --global user.email "mailxx.com" 生产ssh ssh-keygen -t rsa -C “xx…

220V转12V60MA红外雷达降压芯片:节能、高效、多功能的解决方案

220V转12V60MA红外雷达降压芯片&#xff1a;节能、高效、多功能的解决方案 在我国&#xff0c;红外雷达技术已广泛应用于各种小型家用电器中&#xff0c;如遥控器、智能家居等。为了满足这些设备对电源电压的需求&#xff0c;推出了一款220V转12V60MA红外雷达降压芯片&#xf…

Java开发分析 JProfiler 14中文 for Mac

JProfiler Mac版新增功能 已添加用于传出请求 的HTTP探测。同步和异步调用都是测量的。支持的HTTP客户端是&#xff1a; java.net.URLConnection中 Java HTTP客户端&#xff08;Java 11&#xff09; Apache HttpClient 4.x Apache Async HttpClient 4.x OkHttp 3.9 Jersey&am…

conda 安装指定Version的指定Build

入下图&#xff0c;我想装cudnn的7.6.5的指定Build版本cuda10.0_0 应该使用如下命令&#xff1a; mamba install cudnn7.6.5cuda10.0_0 没有mamba用conda install也可以

Nacos 注册中心下载到搭建详细步骤【微服务】

文章目录 一、下载与安装二、Nacos 服务注册1. 引入依赖2. 修改配置文件3. 开启 Nacos 注解4. 启动项目 三、Nacos 服务集群1. 模拟多实例部署2. 配置集群属性3. 服务权重配置 四、Nacos 环境隔离五、Nacos 注册中心原理1. Nacos 与 Eureka 比较2. 配置非临时实例 一、下载与安…

【工具分享】| 阅读论文神器 使用技巧 AI润色 AI翻译

文章目录 1 使用技巧1.1 功能一 即时翻译1.2 功能二 文献跳转1.3 功能三 多设备阅读1.4 功能四 小组讨论笔记共享1.5 功能五 个人文献管理 2 其他功能 超级喜欢Readpaper这一款论文阅读软件&#xff0c;吹爆他哈哈 为什么&#xff1f; 当然是他可以解决我们传统阅读论文的种种…

“掌握速卖通平台接口:电商开发的技术巅峰“

一、概述 速卖通平台接口是全球速卖通提供的一套API接口&#xff0c;旨在为开发者提供与速卖通平台进行数据交互的能力。通过使用速卖通平台接口&#xff0c;开发者可以快速构建自己的电商应用程序&#xff0c;并实现与速卖通平台的数据共享和交易流程。本文将详细介绍速卖通平…