比较运算符 <>代表否定含义“不等于”
有很多RDBMS【包括sql server】可以使用比较运算符“!=”来实现不等于功能。但这是限于不被标准SQL所承认的特定SQL,出于安全的考虑,最好不要使用。
可以使用比较运算符对计算结果进行比较
SELECT product_name,product_type,sale_price,purchase_price
FROM product
WHERE sale_price - purchase_price >= 500
对于字符串 使用比较运算符 需要特别注意
在对字符串类型的数据进行大小比较时,使用的是和数字比较不同的规则。典型的规则就是按照字典顺序进行比较,也就是像姓名那样,按照条目在字典中出现的顺序来进行排序。该规则最重要的一点就是,以相同字符开头的单词比不同字符开头的单词更相近。
如:Chars表
chr(字符串类型)
1
2
3
10
11
222
SELECT chr FROM Chars WHERE chr > '2';
执行结果 3 222
Chars 表 chr 列中的数据按照字典顺序进行排序的结果如下所示。
1
10
11
2
222
3
总结:字符串类型的数据原则上按照字典顺序进行排序,不能与数字的大小顺序混淆
使用比较运算符时要注意NULL值
当筛选purchase_price <> 2800 时,并不会把purchase_price为NULL的记录筛选出来。
如果想选取purchase_price为 NULL 的记录的话,WHERE purchase_price IS NULL
反之,希望选取不是 NULL 的记录时,需要使用 IS NOT NULL 运算符