SQL 3. 高级数据过滤 - 3 反义运算符

转载 2011年01月24日 15:11:00

“=”、“<”、“>”等运算符都是用来进行数值判断的,有的时候则向使用这些运算符的反义,比如“不等于”、“不小于”或者“不大于”,MS SQL Server、DB2提供了“!” 运算符来对运算符求反义,也就是“!=”表示“不等于”、“!<”表示“不小于”,而“!>” 表示“不大于”。

 

比如要完成下面功能“检索所有年龄不等于22岁并且月工资哦不小于2000元的员工”,我们可以编写下面的SQL语句:

SELECT * FROM T_Employee WHERE FAge != 22 and FSalary !< 2000

 

正如上文体到,这种“不等于”、“不小于”、“不大于”的运算符只适用DB2 和MS SQL Server。如果在其他数据库系统上则需要用其他变通的方式实现,最常用的方式有两种:使用同义运算符和使用NOT运算符。

同义运算符 :

不等于 --- <>

不小于 --- >=

不大于 --- <=

比如,检索所有年龄不等于22岁并且月工资不小于2000元的员工:

SELECT * FROM T_Employee WHERE  FAge <> 22 AND FSalary >= 2000

 

NOT 运算符用来将一个表达式的值取反,也就是降至为“真” 的表达式结果变为“假” 、将值为“假” 的表达式结果变为“真” ,使用方式也非常简单,即为“NOT(表达式)” 。比如要表达式“年龄不小于20”,那么可以使用“NOT (FAge < 20)”

 

比如,“检索所有年龄不等于22岁并且月工资不小于2000元的员工”,我们可以编写下面的SQL语句:

SELECT * FROM T_Employee WHERE  NOT(FAge = 22) AND NOT(FSalary < 2000)

 

Note:

"!"运算符的方式只能运行在MS SQL Server和DB2这两种数据库系统上,所以如果应用程序需要一致到娶她数据库上的话,就应该避免这种方式,以免造成不必要的Bug!

SQL 3.高级数据过滤 - 1 通配符过滤

通配符表达式由通配符和普通字符组成,主流数据库支持的通配符有单字符匹配 和多字符匹配 1)单字符匹配的通配符为半角下划线“_ ”, 它匹配单个出现的字符。 2)多字符匹配的通配符为半角百分号“% ...
  • camper001
  • camper001
  • 2011年01月24日 13:03
  • 1040

SQL 3. 高级数据过滤 - 4 多值检测

为了解决多个离散值的匹配问题,SQL提供了IN 语句,我们只需指定要匹配的数据集合就可以了,使用方法为"IN(值1, 值2,值3)" ...
  • camper001
  • camper001
  • 2011年01月24日 15:19
  • 383

SQL 3.高级数据过滤 - 2 空值检测

1.对空值进行检测,不能使用普通的等于运算符进行判断,而要使用IS NULL 关键字,使用方法为 “待检测字段名 IS NULL ” 2.如果要检测“字段不为空”,则要使用IS NOT NU...
  • camper001
  • camper001
  • 2011年01月24日 14:45
  • 1394

SQL高级数据过滤

5.1 组合使用WHERE子句 操作符(operator)也称为逻辑操作符(logical operator),用来联结或改变WHERE子句中的过滤条件。 5.1.1 AND操作符 在WHERE...
  • fengyun125a
  • fengyun125a
  • 2016年12月22日 00:12
  • 96

空值检测,多值检测,反义字符(SQL)

空值检测    没有添加非空约束列是可以为空值的(也就是NULL),有时我们需要对空值进行检测, 比如要查询所有姓名未知的员工信息。既然NULL代表空值,有的开发人员试图通过下面 的SQL语句来...
  • u010031649
  • u010031649
  • 2014年08月23日 19:51
  • 762

Sql union的反义词Minus

sql的union是用来合并两个select语句结果的,这是sql的标准语法,比如: (select * from Table1 where …) union (select * from Tabl...
  • wangjian5748
  • wangjian5748
  • 2009年06月05日 17:50
  • 2461

SQL 3. 高级数据过滤 - 5 范围值检测

1. 使用方法为字段名 BETWEEN 左范围值 AND 右范围值 2. 数据库系统对BETWEEN AND进行了查询优化吗使用它进行范围之检测得到比其他方式更好的性能, 因此在进行范围...
  • camper001
  • camper001
  • 2011年01月25日 11:19
  • 405

正则表达式之字符转义、反义

字符转义          在前面元字符的学习中,我们知道正则表达式定义了一些较为"特殊"的元字符,如:$、^,由于这些     字符在正则表达式中被解释成其他的含义,因此我们如果需要匹配该字...
  • kiritor
  • kiritor
  • 2013年03月26日 19:23
  • 3062

SQL基础(一四)--- 反义运算符

查询年龄不等于22,并且工资不小于2000的员工信息: 方式一mysql> select * from t_employee -> where fage=2000; +----------+...
  • u010801743
  • u010801743
  • 2015年02月05日 14:48
  • 363

C#高级编程三十八天----运算符

运算符 类别 运算符 算术运算符 + - * / 逻辑运算符 & | ^ ~ && || ~ 字符...
  • shanyongxu
  • shanyongxu
  • 2015年07月14日 14:15
  • 1388
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL 3. 高级数据过滤 - 3 反义运算符
举报原因:
原因补充:

(最多只允许输入30个字)