程序员社区

SQL教程 --- 3. SQL运算符

SQL 运算符是一系列字符、符号和单词,用作WHERE子句的一部分。

SQL 运算符

  • SQL运算符用于执行比较和算术运算等操作。
  • 这些运算符用于在 SQL 语句中指定条件。
  • SQL 运算符帮助我们仅从表或视图中选择特定记录。

SQL 运算符类型

SQL 操作符大致分为以下几部分。

  1. 算术运算符
  2. 比较运算符
  3. 逻辑运算符
  4. 按位运算符

让我们试着试着一一了解上述所有运算符。

SQL 算术运算符

SQL 算术运算符是用于数学计算的运算符,如加法、减法等。它们与SQL 数字数据类型一起使用

操作 描述 例子
+(添加) 在运算符的两侧添加值。 选择 30 + 20;输出:50
-(减法) 从运算符左侧的值中减去右侧的值。 选择 30 – 20;输出:10
*(乘法) 将运算符两边的值相乘 选择 30 * 20; 输出:600
/(分配) 将左侧值除以右侧值。 选择 30 / 20;输出:1
%(模数) 将左侧值除以右侧值并返回提醒 选择 30 % 20; 输出:10

SQL 比较运算符

比较运算符是用于比较两个值的运算符。为了更好地理解比较运算符,我们将以 Employee 表为例,如下所示。

让我们以上表为例来了解比较运算符的用法。

编号 员工姓名 临时工 员工薪资
1 约翰 32 2000年
2 史密斯 25 2500
3 亨利 29 3000
操作 描述 例子
=(等于) 检查两个操作数的值是否相等,如果相等则条件成立。 SELECT EmpName FROM Employee WHERE EmpSalary=2000; 输出:约翰
!=(不等于) 检查两个操作数的值是否不相等,如果值不相等则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary!=2000;输出: 史密斯 亨利
<>(不等于) 检查两个操作数的值是否相等,如果值不相等则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary<>2000;输出: 史密斯 亨利
>(大于) 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary > 2000 输出: Smith Henry
<(小于) 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary < 2000 输出:未 找到记录
>=(大于或等于) 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary >= 2000输出: 约翰· 史密斯 ·亨利
<=(小于或等于) 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary <= 2000输出: 约翰
!<(不小于) 检查左操作数的值是否不小于右操作数的值,如果是,则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary !< 2000输出: 史密斯 亨利
!>(不大于) 检查左操作数的值是否不大于右操作数的值,如果是,则条件为真。 SELECT EmpName FROM Employee WHERE EmpSalary !> 2000输出: – 约翰

SQL 逻辑运算符

逻辑运算符是用于逻辑运算的运算符。为了更好地理解逻辑运算符,我们将以 Employee 表为例,如下所示。

file

让我们以上表为例来了解逻辑运算符的用法。

操作 描述 例子
ALL ALL 运算符用于将一个值与另一组值中的所有值进行比较。 SELECT EmpName FROM Employee WHERE EmpAge > ALL (SELECT EmpAge FROM Employee WHERE EmpSalary >= 2500);输出: 约翰· 史密斯
AND AND 运算符允许在 SQL 语句的 WHERE 子句中使用多个条件。 SELECT EmpName FROM Employee WHERE EmpSalary > 2000 and EmpAge > 28 输出: Henry
ANY ANY 运算符用于根据条件将值与列表中的任何适用值进行比较。 SELECT EmpName FROM Employee WHERE EmpAge > ANY (SELECT EmpAge FROM Employee WHERE EmpSalary >= 2500); 输出: 约翰· 史密斯
BETWEEN BETWEEN 运算符用于在给定最小值和最大值的情况下搜索范围内的值。 SELECT EmpName FROM Employee WHERE EmpAge BETWEEN 25 AND 30; 输出: 史密斯 亨利
EXISTS EXISTS 运算符用于搜索指定表中是否存在满足特定条件的行。 SELECT EmpName FROM Employee WHERE EXISTS (SELECT EmpName FROM Employee WHERE EmpSalary >= 2500);输出: 史密斯 亨利
IN IN 运算符用于将值与已指定的文字值列表进行比较。 SELECT EmpName FROM Employee WHERE EmpSalary IN (2000, 2500);输出: 约翰· 史密斯
LIKE LIKE 运算符用于使用通配符运算符将值与相似值进行比较。 SELECT EmpName FROM Employee WHERE EmpName LIKE 'Jo%';输出: 约翰
NOT NOT 运算符颠倒使用它的逻辑运算符的含义。 SELECT EmpName FROM Employee WHERE EmpSalary IS NOT NULL输出: 约翰· 史密斯 ·亨利
OR OR 运算符用于在一个 SQL 语句的 WHERE 子句中组合多个条件。 SELECT EmpName FROM Employee WHERE EmpSalary > 2000 OR EmpName IS NOT NULL;输出: 约翰· 史密斯 ·亨利
IS NULL IS NULL 运算符用于将值与 NULL 值进行比较。 SELECT EmpName FROM Employee WHERE EmpSalary IS NULL; 输出:未 找到记录
UNIQUE UNIQUE 运算符搜索指定表的每一行的唯一性 SELECT UNIQUE(EmpName) FROM Employee WHERE EmpSalary IS NOT NULL;输出: 约翰· 史密斯 ·亨利

SQL 按位运算符

按位运算符是用于位数据的运算符。

操作员 描述
& 按位与运算符
| 按位或运算符
^ 按位异或运算符
<< 左移运算符
>> 右移运算符

这是一个简单的程序,显示了 sql 按位运算符的用法。

-- 27 = 11011
-- 19 = 10011

select 27 & 19; -- 10011
select 27 | 19; -- 11011
select 27 ^ 19; -- 00100
select 5 << 2; -- 101 to 10100 i.e. 20
select 17 >> 2; -- 10001 to 100 i.e. 4

简而言之,这就是 SQL 运算符的全部内容。


赞(0) 打赏
未经允许不得转载:IDEA激活码 » SQL教程 --- 3. SQL运算符

一个分享Java & Python知识的社区