0


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

什么是存储过程?

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

存储过程语法

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

CREATEPROCEDURE 存储过程名称
ASSQL语句
GO;

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

EXEC 存储过程名称;

演示数据库

以下是 Northwind 示例数据库中 “Customers” 表的部分内容:
CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

存储过程示例

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

CREATEPROCEDURE SelectAllCustomers
ASSELECT*FROM Customers
GO;

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

EXEC SelectAllCustomers;

带有一个参数的存储过程

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

CREATEPROCEDURE SelectAllCustomers @City nvarchar(30)ASSELECT*FROM Customers WHERE City =@City
GO;

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

EXEC SelectAllCustomers @City='London';

带有多个参数的存储过程

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

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

CREATEPROCEDURE SelectAllCustomers @City nvarchar(30),@PostalCode nvarchar(10)ASSELECT*FROM Customers WHERE City =@CityAND 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'ORDERBY 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 +=10WHERE condition;

减等于 (**

-=

****):** 从左侧的值中减去右侧的值,并将结果分配给左侧的值。

UPDATE tableName SET column1 -=5WHERE condition;

乘等于 (**

*=

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

UPDATE tableName SET column1 *=2WHERE condition;

除等于 (**

/=

****):** 将左侧的值除以右侧的值,并将结果分配给左侧的值。

UPDATE tableName SET column1 /=3WHERE condition;

取模等于 (**

%=

****):** 将左侧的值除以右侧的值并取余数,结果分配给左侧的值。

UPDATE tableName SET column1 %=4WHERE 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 WHERENOT condition;

以上

AND

OR

NOT

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

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:

Let us Coding

,关注后即可获取最新文章推送

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

标签: sql 数据库 oracle

本文转载自: https://blog.csdn.net/2302_76489021/article/details/134743656
版权归原作者 小万哥丶 所有, 如有侵权,请联系我们删除。

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

还没有评论