NOT BETWEEN…AND…
列表运算符(判断表达式是否为列表中的指定项):IN (项1,项2……)
NOT IN (项1,项2……)
模式匹配符(判断值是否与指定的字符通配格式相符):LIKE、NOT LIKE
空值判断符(判断表达式是否为空):IS NULL、NOT IS NULL
逻辑运算符(用于多条件的逻辑连接):NOT、AND、OR
1、范围运算符例:age BETWEEN 10 AND 30相当于age>=10 AND age<=30
2、列表运算符例:country IN ('Germany','China')
3、模式匹配符例:常用于模糊查找, 它判断列值是否与指定的字符串格式相匹配 。 可用于char、
varchar、text、ntext、datetime和smalldatetime等类型查询 。
可使用以下通配字符:
百分号%:可匹配任意类型和长度的字符, 如果是中文, 请使用两个百分号即%% 。
下划线_:匹配单个任意字符, 它常用来限制表达式的字符长度 。
方括号[]:指定一个字符、字符串或范围, 要求所匹配对象为它们中的任一个 。
[^]:其取值也[] 相同, 但它要求所匹配对象为指定字符以外的任一个字符 。
例如:
限制以Publishing结尾, 使用LIKE '%Publishing'
限制以A开头:LIKE '[A]%'
限制以A开头外:LIKE '[^A]%'
4、空值判断符例WHERE age IS NULL
5、逻辑运算符:优先级为NOT、AND、OR
(四)查询结果排序
使用ORDER BY子句对查询返回的结果按一列或多列排序 。 ORDER BY子句的语法格式为:
ORDER BY {column_name [ASC|DESC]} [,…n]
其中ASC表示升序, 为默认值, DESC为降序 。 ORDER BY不能按ntext、text和image数据类型进行排
序 。
例如:
SELECT *
FROM usertable
ORDER BY age desc,userid ASC
另外, 可以根据表达式进行排序 。
二、 联合查询
UNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示, 即执行联
合查询 。 UNION的语法格式为:
select_statement
UNION [ALL] selectstatement
[UNION [ALL] selectstatement][…n]
其中selectstatement为待联合的SELECT查询语句 。
ALL选项表示将所有行合并到结果集合中 。 不指定该项时, 被联合查询结果集合中的重复行将只保留一
行 。
联合查询时, 查询结果的列标题为第一个查询语句的列标题 。 因此, 要定义列标题必须在第一个查询语
句中定义 。 要对联合查询结果排序时, 也必须使用第一查询语句中的列名、列标题或者列序号 。
在使用UNION 运算符时, 应保证每个联合查询语句的选择列表中有相同数量的表达式, 并且每个查询选
择表达式应具有相同的数据类型, 或是可以自动将它们转换为相同的数据类型 。 在自动转换时, 对于数值类
型, 系统将低精度的数据类型转换为高精度的数据类型 。
在包括多个查询的UNION语句中, 其执行顺序是自左至右, 使用括号可以改变这一执行顺序 。 例如:
查询1 UNION (查询2 UNION 查询3)
三、连接查询
通过连接运算符可以实现多个表查询 。 连接是关系数据库模型的主要特点, 也是它区别于其它类型
数据库管理系统的一个标志 。
在关系数据库管理系统中, 表建立时各数据之间的关系不必确定, 常把一个实体的所有信息存放在
一个表中 。 当检索数据时, 通过连接操作查询出存放在多个表中的不同实体的信息 。 连接操作给用户带
来很大的灵活性, 他们可以在任何时候增加新的数据类型 。 为不同实体创建新的表, 尔后通过连接进行
查询 。
连接可以在SELECT 语句的FROM子句或WHERE子句中建立, 似是而非在FROM子句中指出连接时有助于
将连接操作与WHERE子句中的搜索条件区分开来 。 所以, 在Transact-SQL中推荐使用这种方法 。
SQL-92标准所定义的FROM子句的连接语法格式为:
推荐阅读
- 学习知识|银行贷款利息怎么算,个人借款还款协议书
- 娱乐知识|梦溪笔谈作者是谁,《梦溪笔谈》是谁写的
- 娱乐知识|张大大是谁,为什么很多人喷张大大
- 娱乐知识|三国演义的作者是谁,三国演义作者是陈寿吗
- 娱乐知识|你是谁,歌曲《你是谁》
- 娱乐知识|望梅止渴的主人公是谁,梦笔生花的主人公是谁?
- 娱乐知识|负荆请罪的主人公是谁,囊萤映雪的主人公是谁?
- 娱乐知识|胎记是怎么得的,胎记什么时候去掉是最佳年龄
- 娱乐知识|白夜追凶最终boss是谁,白夜追凶2原版小说
- 历史地理知识|怎么查邮政编码,邮编363000是哪里