sql 特殊语法
sql 特殊语法
操作符号
存储过程中常用的操作符号包括:
- 等于:
=
- 不等于:
!=
或<>
- 大于:
>
- 小于:
<
- 大于等于:
>=
- 小于等于:
<=
- 逻辑与:
AND
- 逻辑或:
OR
- 逻辑非:
NOT
- 模糊匹配:
LIKE
- 通配符:
%
(在LIKE
中使用) - IN运算符: 用于指定条件范围,例如
IN (value1, value2, ...)
这些操作符可以在存储过程的查询语句中使用,以构建复杂的条件来过滤、排序或连接数据。
ROW_COUNT()
ROW_NUMBER()
和 ROW_COUNT()
是两个不同的 SQL 中的概念,分别用于执行不同的任务。
ROW_NUMBER():
ROW_NUMBER()
是一个窗口函数,用于为查询结果集中的每一行分配一个唯一的行号。- 通常与
OVER
子句结合使用,以定义窗口和排序规则。 - 用于产生行号,用于排序和分析数据,特别是在需要标识结果集中行的顺序时。
- 示例:
ROW_NUMBER() OVER (ORDER BY column1) AS row_num
ROW_COUNT():
ROW_COUNT()
是一个函数,用于返回最后一个执行的 SQL 语句受影响的行数。- 通常用于获取最近一次
INSERT
、UPDATE
或DELETE
语句影响的行数。 - 与特定表或窗口无关,而是与最近一次 SQL 语句的执行结果有关。
- 示例:
SELECT * FROM table_name; SELECT ROW_COUNT();
总的来说,ROW_NUMBER()
是一个用于为查询结果集中的每一行分配行号的窗口函数,而 ROW_COUNT()
是一个用于获取最近一次 SQL 语句影响的行数的函数。它们在功能和用途上有很大的区别。
CASE
CASE
在 SQL 中有多种用法,主要用于条件性的逻辑判断和返回不同的结果。以下是一些常见的 CASE
语句的用法:
简单 CASE 表达式:用于对单个表达式进行等值比较,类似于多个
IF-THEN
语句。CASE expression WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE result_else END
搜索 CASE 表达式:用于对多个条件进行逐一判断,类似于多个
IF-THEN-ELSE
语句。CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result_else END
CASE 后带聚合函数:可以在
CASE
语句内使用聚合函数。SELECT ID, CASE WHEN COUNT(*) > 10 THEN 'High' ELSE 'Low' END AS QuantityStatus FROM TableName GROUP BY ID;
CASE 用于更新数据:可以在
UPDATE
语句中使用CASE
。UPDATE TableName SET Status = CASE WHEN Condition1 THEN 'Active' WHEN Condition2 THEN 'Inactive' ELSE 'Unknown' END;
这些是 CASE
语句的一些常见用法,可以根据具体情况选择合适的形式来进行条件判断和结果返回。
UNION
UNION
是 SQL 中用于合并两个或多个 SELECT
语句的结果集的操作符。它的一般语法为:
SELECT column1, column2, ...
FROM table1
WHERE condition
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition;
以下是一些常见的 UNION
的用法:
合并两个表的结果集:将两个表的结果集合并成一个结果集。
SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2;
去重合并:
UNION
会自动去除重复的行,如果你想保留重复行,可以使用UNION ALL
。SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2;
条件合并:在每个
SELECT
语句中使用不同的条件。SELECT column1, column2 FROM table1 WHERE condition1 UNION SELECT column1, column2 FROM table2 WHERE condition2;
合并不同数据类型:
UNION
要求两个SELECT
语句的列数和数据类型必须一致,如果需要合并不同数据类型,可以使用CAST
或CONVERT
函数。SELECT column1, column2 FROM table1 UNION SELECT CAST(column3 AS VARCHAR), column4 FROM table2;
多个表的合并:可以使用多个
UNION
运算符合并多个表的结果。SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2 UNION SELECT column1, column2 FROM table3;
这些是 UNION
操作符的一些常见用法,根据具体需求选择适当的方式。