SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符

SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符

本文总结自《SQL基础教程》

一.算数运算符

四则运算所使用的运算符(+、—、 X、 /)称为算术运算符。 运算符就是使用其两边的值进行四则运算或者字符串拼接、数值大小比较等运算,并返回结果的符号。
eg:
SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符_第1张图片
要从上表Person中选出交完税(20%)后的SALVARY

SELECT NAME,CITY,SALARY,SALARY*(1-0.2) AS SALARY_AFTER_TAX
FROM Person;

注意: (1)SQL 中也可以使用括号 ( )。括号中运算表达式会优先进行运算
(2) SQL 语句中进行运算时,需要特别注意含有NULL 的运算,+、-、*、/和NULL进行运算,值为NULL

二.比较运算符

SQL中主要的比较运算符如下所示:
SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符_第2张图片
在 WHERE 子句中通过使用比较运算符可以组合出各种各样的条件表达式
eg:

SELECT NAME,CITY,SALARY
FROM Person
WHERE salary <> 4328;

注意:(1)比较运算符也可以对日期进行比较,
(2) 不能对NULL使用比较运算符, 因此, SQL提供了专门用来判断是否为 NULL 的 IS NULL 运算符。 反之, 希望选取不是 NULL 的记录时,需要使用 IS NOT NULL 运算符

eg:

SELECT NAME,CITY,SALARY
FROM Person
WHERE SALARY IS NULL;

三.逻辑运算符

3.1 NOT运算符
在表示否定时,除了不等于号“<>”外, 还存在另外一个表示否定,并且使用范围更广的运算符“NOT” :

eg:

SELECT ID,NAME,CITY
FROM Person
WHERE SSLARY>4000;

执行结果为:
SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符_第3张图片
向上述 SELECT 语句的查询条件中添加 NOT 运算符之后的代码及结果如下:

SELECT ID,NAME,CITY
FROM Person
WHERE NOT SSLARY>4000;

执行结果为:
在这里插入图片描述
3.2 AND运算符和OR运算符
在 WHERE 子句中使用 AND 运算符或者 OR 运算符,可以对多个查询条件进行组合
AND 运算符在其两侧的查询条件都成立时整个查询条件才成立,其意思相当于“并且”。OR 运算符在其两侧的查询条件有一个成立时整个查询条件都成立,其意思相当于“或者”。

eg:

SELECT ID,NAME,CITY
FROM Person
WHERE SSLARY>4000
AND CITY='广州';

执行结果为:
SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符_第4张图片

SELECT ID,NAME,CITY
FROM Person
WHERE SSLARY>4000
OR CITY='广州';

执行结果为:
SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符_第5张图片
3.3 在较为复杂的含有逻辑运算符的SQL语句中使用括号
由于逻辑运算符的优先级不同,因此在复杂的且含有多个逻辑运算符的SQL语句中使用括号来明确SQL语句的执行顺序:

eg:

SELECT ID,NAME,CITY
FROM Person
WHERE SSLARY>4000
AND ( CITY='广州'
    OR IDENTITY='student');

比较运算符在结果成立时返回真(TRUE),在结果不成立时返回假(FALSE), 逻辑运算符对比较运算符等返回的真值进行操作。 AND 运算符两侧的真值都为真时返回真,除此之外都返回假。 OR 运算符两侧的真值只要有一个不为假就返回真,只有当其两侧的真值都为假时才返回假。 NOT运算符只是单纯的将真转换为假,将假转换为真。

3.4 不确定值
使用逻辑运算符时也需要特别对待 NULL,有时候结果不是真也不是假, 而是除真假之外的第三种值——不确定(UNKNOWN)

SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符_第6张图片

你可能感兴趣的:(SQL基础学习(三) 算术运算符、比较运算符、逻辑运算符)