数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

数据库进阶:循序渐进讲解SQL查询语句的高级应用技巧[2]


发布日期:2020年07月24日
 
数据库进阶:循序渐进讲解SQL查询语句的高级应用技巧[2]

模式匹配符(判断值是否与指定的字符通配格式相符):LIKENOT LIKE

空值判断符(判断表达式是否为空)IS NULLNOT IS NULL

逻辑运算符(用于多条件的逻辑连接)NOTANDOR

范围运算符例age BETWEEN AND 相当于age>= AND age<=

列表运算符例country IN (GermanyChina)

模式匹配符例常用于模糊查找它判断列值是否与指定的字符串格式相匹配可用于char

varchartextntextdatetime和smalldatetime等类型查询

可使用以下通配字符

百分号%可匹配任意类型和长度的字符如果是中文请使用两个百分号即%%

下划线_匹配单个任意字符它常用来限制表达式的字符长度

方括号[]指定一个字符字符串或范围要求所匹配对象为它们中的任一个

[^]其取值也[] 相同但它要求所匹配对象为指定字符以外的任一个字符

例如

限制以Publishing结尾使用LIKE %Publishing

限制以A开头LIKE [A]%

限制以A开头外LIKE [^A]%

空值判断符例WHERE age IS NULL

逻辑运算符优先级为NOTANDOR

(四)查询结果排序

使用ORDER BY子句对查询返回的结果按一列或多列排序ORDER BY子句的语法格式为

ORDER BY {column_name [ASC|DESC]} […n]

其中ASC表示升序为默认值DESC为降序ORDER BY不能按ntexttext和image数据类型进行排

例如

SELECT *

FROM usertable

ORDER BY age descuserid ASC

另外可以根据表达式进行排序

联合查询

UNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示即执行联

合查询UNION的语法格式为

select_statement

UNION [ALL] selectstatement

[UNION [ALL] selectstatement][…n]

其中selectstatement为待联合的SELECT查询语句

ALL选项表示将所有行合并到结果集合中不指定该项时被联合查询结果集合中的重复行将只保留一

联合查询时查询结果的列标题为第一个查询语句的列标题因此要定义列标题必须在第一个查询语

句中定义要对联合查询结果排序时也必须使用第一查询语句中的列名列标题或者列序号

在使用UNION 运算符时应保证每个联合查询语句的选择列表中有相同数量的表达式并且每个查询选

择表达式应具有相同的数据类型或是可以自动将它们转换为相同的数据类型在自动转换时对于数值类

系统将低精度的数据类型转换为高精度的数据类型

在包括多个查询的UNION语句中其执行顺序是自左至右使用括号可以改变这一执行顺序例如

查询 UNION (查询 UNION 查询)

[] [] []

               

上一篇:数据库进阶:循序渐进讲解SQL查询语句的高级应用技巧[3]

下一篇:数据库相关:全面解析关系数据模型存在的不足之处