【SQL基础】SQL常用运算符、通配符及参数

目录

  • 0 引言
  • 1 常用运算符
    • 1.1 比较运算符
    • 1.2 范围运算符
      • 1.2.1 用于日期的范围运算符
      • 1.2.2 用于字符的范围运算符
    • 1.3 列举运算符
    • 1.4 逻辑运算符
    • 1.5 EXISTS 运算符
    • 1.6 UNION 操作符
    • 1.7 空值运算符
    • 1.8 模糊匹配值操作符
  • 2 常用通配符
  • 3 常用参数
  • 4 总结

0 引言

本文主要对SQL数据库需要掌握的常见运算符、通配符和常用参数进行介绍,文中附有多个示例的网址链接,有需要的读者可以点进链接查看详细实例应用。

1 常用运算符

1.1 比较运算符

功能 符号
小于 <
小于或等于 <=
大于 >
大于或等于 >=
等于 =
不等于 <>

1.2 范围运算符

对于范围运算符需要特别注意的是是否包括边界的问题,对于不同数据库可能存在差异,建议在不熟悉时先创建例子试验其结果。对于SQL Server 中 between 的语句及边界问题如下:

语句 功能 边界问题
between… and 选取介于两个值之间的数据范围内的值 包含边界
not between… and 选取处于两个值之外的数据范围内的值 不含边界
实例应用请参考网址:《SQL BETWEEN 操作符》

1.2.1 用于日期的范围运算符

当范围运算符应用于选取特定日期时,其是否包含终点日期需要根据具体数据库而定。有的数据库默认时刻为00:00:00,对于这一类数据库按以下例子,是选取5月10号凌晨0点到5月14号凌晨0点之间的时段,即使between语句包含边界,也不能包含终点日期。

SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND '2016-05-14';

1.2.2 用于字符的范围运算符

当范围运算符应用于选取字符时,表示的是选取开头字符符合条件的字符串。下面的 SQL 语句选取 name 以介于 ‘A’ 和 ‘H’ 之间字母开始的所有网站:

SELECT * FROM Websites
WHERE name BETWEEN 'A' AND 'H';

1.3 列举运算符

  1. 功能:列举运算符 in 允许在 WHERE 子句中规定多个匹配值,not in 则相反。
  2. 语法如下,如果value是字符串时需要加单引号。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

1.4 逻辑运算符

  1. 逻辑运算符主要是“与”、“或”、“非”三个,分别对应运算符为and、or、not,这三个运算符的优先级是not > and > or。
  2. 灵活应用三个逻辑运算符配合圆括号可以构成复制的条件表达式。

1.5 EXISTS 运算符

  1. 功能:EXISTS 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。
  2. 语法如下:具体实例查看《SQL EXISTS 运算符》
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);

1.6 UNION 操作符

  1. 功能:UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
  2. 注意事项:UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
  3. UNION 和 UNION ALL 的使用语法如下,具体实例参考《SQL UNION 操作符》
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
/*默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。*/
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
/*UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。*/

1.7 空值运算符

  1. NULL值功能:NULL 值代表遗漏的未知数据。
  2. 控制运算符功能:无法使用比较运算符来测试 NULL 值,比如 =、< 或 <>,必须使用 IS NULL 和 IS NOT NULL 操作符。
  3. 示例语法如下,具体实例参考《SQL NULL 值》
SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

1.8 模糊匹配值操作符

  1. 功能:LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。使用 NOT LIKE 表示排除指定模式。
  2. 语法如下,具体实例请参考《SQL LIKE 操作符》
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

2 常用通配符

  1. 功能:通配符可用于替代字符串中的任何其他字符。
  2. 应用场合:在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
  3. 类型及功能:
通配符 描述
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或[!charlist] 不在字符列中的任何单一字符
  1. 具体应用示例请查看《SQL 通配符》

3 常用参数

参数 功能
version() 返回当前数据库软件版本
database() 返回当前数据库名
user() 返回用户名
current_user() 返回当前用户名
system_user() 返回系统用户名
@@datarir 返回数据库路径
@@version_compile_os 返回操作系统版本

4 总结

  1. 熟练使用各种运算符;
  2. 熟练使用通配符构造模糊匹配条件;
  3. 熟练掌握常用参数。

你可能感兴趣的:(#,筑基05:语言基础,sql,sqlserver,数据库,渗透测试)