SQL算术运算符之加法、减法、乘法、除法和取模的用法例子!
SQL算术运算符之加法、减法、乘法、除法和取模的用法例子!
什么是存储过程?
存储过程是一段预先编写好的 SQL 代码,可以保存在数据库中以供反复使用。它允许将一系列 SQL 语句组合成一个逻辑单元,并为其分配一个名称,以便在需要时调用执行。存储过程可以接受参数,使其更加灵活和通用。
存储过程语法
创建存储过程的语法如下:
1
2
3
4
|
CREATE PROCEDURE 存储过程名称 AS SQL语句 GO; |
执行存储过程的语法如下:
EXEC 存储过程名称;
演示数据库
以下是 Northwind 示例数据库中 “Customers” 表的部分内容:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
存储过程示例
以下 SQL 语句创建了一个名为 “SelectAllCustomers” 的存储过程,用于从 “Customers” 表中选择所有记录:
1
2
3
4
|
CREATE PROCEDURE SelectAllCustomers AS SELECT * FROM Customers GO; |
执行上述存储过程的方法如下:
1
|
EXEC SelectAllCustomers; |
带有一个参数的存储过程
以下 SQL 语句创建了一个存储过程,该过程从 “Customers” 表中选择特定城市的客户:
1
2
3
4
|
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30) AS SELECT * FROM Customers WHERE City = @City GO; |
执行上述存储过程的方法如下:
1
|
EXEC SelectAllCustomers @City = 'London' ; |
带有多个参数的存储过程
设置多个参数非常简单。只需逐个列出每个参数及其数据类型,用逗号分隔。
以下 SQL 语句创建了一个存储过程,该过程从 “Customers” 表中选择特定城市和特定邮政编码的客户:
1
2
3
4
|
CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10) AS SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode GO; |
执行上述存储过程的方法如下:
1
|
EXEC SelectAllCustomers @City = 'London' , @PostalCode = 'WA1 1DP' ; |
SQL 注释用于提供对 SQL 语句的解释,或者在调试和维护过程中临时禁用某些语句。注释不会被数据库执行。
单行注释
单行注释以 --
开头,后面的文本将被注释掉。
1
2
|
-- 这是单行注释 SELECT * FROM Customers; |
在单行注释中,--
后面的文本会被忽略。
单行注释在语句末尾
1
|
SELECT * FROM Customers -- WHERE City='Berlin'; |
在这个例子中,--
后面的文本和语句末尾的内容都被忽略。
多行注释
多行注释以 /*
开头,以 */
结尾,之间的所有文本都被注释掉。
1
2
3
|
/* 这是 多行注释 */ SELECT * FROM Customers; |
在多行注释中,/*
和 */
之间的文本都被忽略。
多行注释忽略多条语句
1
2
3
4
5
|
/* SELECT * FROM Customers; SELECT * FROM Products; SELECT * FROM Orders; SELECT * FROM Categories; */ SELECT * FROM Suppliers; |
在这个例子中,/*
和 */
之间的所有语句都被注释掉。
部分注释
要仅忽略语句的一部分,可以在适当位置使用 /* */
注释。
1
|
SELECT CustomerName, /*City,*/ Country FROM Customers; |
在这个例子中,/*
和 */
之间的 City
列会被注释掉,而其他部分保持不变。
部分注释语句
1
2
3
4
5
|
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 算术运算符
加法 (+): 用于将两个值相加。
1
|
SELECT column1 + column2 AS SumResult FROM tableName; |
减法 (-): 用于从第一个值中减去第二个值。
1
|
SELECT column1 - column2 AS Difference FROM tableName; |
乘法 (*): 用于将两个值相乘。
1
|
SELECT column1 * column2 AS Product FROM tableName; |
除法 (/): 用于将第一个值除以第二个值。
1
|
SELECT column1 / column2 AS Quotient FROM tableName; |
取模 (%): 返回除法的余数。
1
|
SELECT column1 % column2 AS Modulus FROM tableName; |
SQL 位运算符
按位与 (&): 对二进制数进行按位与运算。
1
|
SELECT column1 & column2 AS BitwiseAND FROM tableName; |
按位或 (|): 对二进制数进行按位或运算。
1
|
SELECT column1 | column2 AS BitwiseOR FROM tableName; |
按位异或 (^): 对二进制数进行按位异或运算。
1
|
SELECT column1 ^ column2 AS BitwiseXOR FROM tableName; |
SQL 比较运算符
等于 (=): 判断两个值是否相等。
1
|
SELECT column1 FROM tableName WHERE column1 = column2; |
大于 (>): 判断一个值是否大于另一个值。
1
|
SELECT column1 FROM tableName WHERE column1 > column2; |
小于 (<): 判断一个值是否小于另一个值。
1
|
SELECT column1 FROM tableName WHERE column1 < column2; |
大于等于 (>=): 判断一个值是否大于或等于另一个值。
1
|
SELECT column1 FROM tableName WHERE column1 >= column2; |
小于等于 (<=): 判断一个值是否小于或等于另一个值。
1
|
SELECT column1 FROM tableName WHERE column1 <= column2; |
不等于 (<> 或 !=): 判断两个值是否不相等。
1
|
SELECT column1 FROM tableName WHERE column1 <> column2; |
SQL 复合运算符
复合运算符是一组用于执行多个操作的运算符。
加等于 (+=): 将右侧的值添加到左侧的值,并将结果分配给左侧的值。
1
|
UPDATE tableName SET column1 += 10 WHERE condition; |
减等于 (-=): 从左侧的值中减去右侧的值,并将结果分配给左侧的值。
1
|
UPDATE tableName SET column1 -= 5 WHERE condition; |
乘等于 (*=): 将左侧的值乘以右侧的值,并将结果分配给左侧的值。
1
|
UPDATE tableName SET column1 *= 2 WHERE condition; |
除等于 (/=): 将左侧的值除以右侧的值,并将结果分配给左侧的值。
1
|
UPDATE tableName SET column1 /= 3 WHERE condition; |
取模等于 (%=): 将左侧的值除以右侧的值并取余数,结果分配给左侧的值。
1
|
UPDATE tableName SET column1 %= 4 WHERE condition; |
SQL 逻辑运算符
逻辑运算符用于连接和改变条件语句的逻辑关系。
AND: 如果由 AND
分隔的所有条件都为 TRUE
,则为 TRUE
。
1
|
SELECT * FROM tableName WHERE condition1 AND condition2; |
OR: 如果由 OR
分隔的任何条件都为 TRUE
,则为 TRUE
。
1
|
SELECT * FROM tableName WHERE condition1 OR condition2; |
NOT: 如果条件不为 TRUE
,则显示记录。
1
|
SELECT * FROM tableName WHERE NOT condition; |
以上 AND
、OR
和 NOT
可以结合使用,以满足更复杂的查询需求。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论