SQL 教程 目录

SQL SQL运算符概览

在本章中,我们将详细介绍SQL中的各种运算符。这些运算符用于构建查询语句,帮助我们从数据库中检索和操作数据。了解这些运算符是掌握SQL的基础。

算术运算符

算术运算符用于执行基本的数学运算,如加、减、乘、除等。

  • +:加法。例如,SELECT 1 + 1; 返回结果为 2
  • -:减法。例如,SELECT 5 - 2; 返回结果为 3
  • *:乘法。例如,SELECT 4 * 3; 返回结果为 12
  • /:除法。例如,SELECT 10 / 2; 返回结果为 5
  • %MOD:取余。例如,SELECT 10 % 3; 返回结果为 1

比较运算符

比较运算符用于比较两个值或表达式,返回一个布尔值(TRUE, FALSE, 或 NULL)。

  • =:等于。例如,SELECT 'apple' = 'banana'; 返回结果为 FALSE
  • <>!=:不等于。例如,SELECT 1 <> 2; 返回结果为 TRUE
  • <:小于。例如,SELECT 1 < 2; 返回结果为 TRUE
  • >:大于。例如,SELECT 3 > 2; 返回结果为 TRUE
  • <=:小于或等于。例如,SELECT 1 <= 1; 返回结果为 TRUE
  • >=:大于或等于。例如,SELECT 4 >= 3; 返回结果为 TRUE

逻辑运算符

逻辑运算符用于组合或否定条件,通常用于WHERE子句中创建复杂的查询条件。

  • AND:用于连接两个或多个条件,所有条件都为真时结果才为真。例如,SELECT * FROM products WHERE price > 10 AND quantity > 5;
  • OR:用于连接两个或多个条件,只要有一个条件为真结果就为真。例如,SELECT * FROM products WHERE category = 'Electronics' OR category = 'Books';
  • NOT:用于否定一个条件。例如,SELECT * FROM customers WHERE NOT (age > 18);

范围运算符

范围运算符用于检查某个值是否落在一个指定的范围内。

  • BETWEEN:用于选择介于两个值之间的数据范围(包括这两个值)。例如,SELECT * FROM orders WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
  • IN:用于选择列中的指定多个可能的值。例如,SELECT * FROM employees WHERE department IN ('Sales', 'Marketing');

字符串匹配运算符

字符串匹配运算符用于在表中搜索符合特定模式的记录。

  • LIKE:用于搜索与指定模式相匹配的字符串。例如,SELECT * FROM users WHERE username LIKE 'A%'; 可以找到以字母“A”开头的所有用户名。
  • NOT LIKE:用于搜索与指定模式不匹配的字符串。例如,SELECT * FROM users WHERE username NOT LIKE 'A%';
  • REGEXPRLIKE:用于搜索符合正则表达式的记录。例如,SELECT * FROM users WHERE username REGEXP '^A.*'; 可以找到以字母“A”开头的所有用户名。

空值运算符

空值运算符用于处理NULL值的情况。

  • IS NULL:用于检查列是否有NULL值。例如,SELECT * FROM users WHERE username IS NULL;
  • IS NOT NULL:用于检查列是否没有NULL值。例如,SELECT * FROM users WHERE username IS NOT NULL;

位运算符

位运算符用于对整数进行二进制位的操作。

  • &:按位与。例如,SELECT 5 & 3; 返回结果为 1
  • |:按位或。例如,SELECT 5 | 3; 返回结果为 7
  • ^:按位异或。例如,SELECT 5 ^ 3; 返回结果为 6
  • ~:按位非。例如,SELECT ~5; 返回结果为 -6

其他运算符

除了上述提到的运算符之外,还有一些其他有用的运算符。

  • UNION:用于合并两个或多个 SELECT 语句的结果集。例如,SELECT column_name FROM table1 UNION SELECT column_name FROM table2;
  • EXISTS:用于测试子查询是否返回行。例如,SELECT * FROM orders WHERE EXISTS (SELECT * FROM customers WHERE orders.customer_id = customers.id);
  • ALLANY:用于比较一个值与集合中的所有值或任意值。例如,SELECT * FROM products WHERE price > ALL (SELECT price FROM products WHERE category = 'Electronics');

通过理解并熟练使用这些运算符,你可以更有效地编写SQL查询,从而更好地管理和操作数据库中的数据。

上一篇: SQL DELETE 语句
下一篇: SQL 表达式使用
纠错
反馈