SQL Server基础 第四章 select定制查询(select中的各种查询筛选条件)

本章主要介绍 select 语句查询数据的基本用法,其中包括查询指定字段信息、条件查询等。

目录

1、比较运算符、逻辑运算符

(1)查询phone大于500且不是单县的

(2)查询地址为烟台或者单县但是phone要大于666的

 (3)查询性别为空的列切phone800到1000的列

2、算数运算符

 对一个列进行加减乘除、取余

 在数学运算时,除数为0的时候无意义,因此除法运算中除数不能为0,如果被0除,则会报错。下面是除数为0的情况​编辑

3、通配符

查询name列王字开头且至少三个字符的列

4、数据排序

对phone进行正序排序

​编辑

5、top

按照phone正序排序并取前两个

 按照phone正序排序并取前百分之六十


1、比较运算符、逻辑运算符

> 大于
< 小于
>= 大于等于
<= 小于等于
!=  非等于 等同于 <>
is null 数据为空
is not null 数据不为空

其中:

!=  等价于 <>

>= 等价于 !<

<= 等价于 !>

and 和 多个表达式值均为true时, 符合筛选条件
or 或 有一个表达式值为true时,符合筛选条件
in(值,值2........) 只要有符合某一个值,就符合筛选条件
between 起始值 and 结束值 在。。之间,区间范围
not 取反 等同于 !=

(1)查询phone大于500且不是单县的

先来看一下啊查询之前的数据

 添加条件之后,我们发现and两边的条件都进行筛选完成之后的进行显示

(2)查询地址为烟台或者单县但是phone要大于666的

查询之前

 查询之后

 (3)查询性别为空的列切phone800到1000的列

查询之前

 查询之后

2、算数运算符

+
-
*
/
%
加减乘除取余

 对一个列进行加减乘除、取余

select  num+1 加,num-1 减 ,num*2 乘,num/2 除,num%2 取余 from Table_1

 在数学运算时,除数为0的时候无意义,因此除法运算中除数不能为0,如果被0除,则会报错。下面是除数为0的情况

3、通配符

模糊查询是利用数据的部分信息进行查找的一种查询方式。如果数据库用户在进行数据查询时,不知道查询实体的全部具体信息,仅知道其部分信息,此时可使用LIKE运算符进行模糊查询。

在SQL Server中,使用通配符实现LIKE运算。通配符是一种在WHERE子句中拥有特殊意义的字符,通配符包括“%”“_”和”[]“

*注意使用LIKE模糊查询默认是不区分大小写的

*使用通配符LIKE比等于(=)和不等于(!=)比较更灵活

% 表示任意位数字符
_ 表示单一位数字符
like

%(百分号)通配符:任何零个或多个字符的字符串。

_(下划线)通配符:任何单个字符

查询name列王字开头且至少三个字符的列

查询前

select * from Table_2 where name like '王__%' 

查询后 

4、数据排序

order by 列名 正序
order by 列名 desc 倒序

对phone进行正序排序

如果倒序则只需要后desc即可

5、top

top 数量 展示前X行数据
top 比例 percent 展示前X百分比数量行数数据

按照phone正序排序并取前两个

select top 2 * from Table_2   order by phone

 按照phone正序排序并取前百分之六十

注:一共6个数据百分之60就是一半多百分之10,那就是取四个数据。

select top 60 percent * from Table_2   order by phone

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本书是Inside Microsoft SQL Server 2005系列四本著作的一本。它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-SQL)的专家级指导,囊括了非常全面的编程参考,揭示了基于集合的查询的强大威力,并包含大量来自专家们的参考和建议。本书适合专业数据库开发者、BI开发者、DBA和以SQL Server作为后台数据库的一般应用程序开发者,读者可以通过书的最佳实践、高级技巧和代码示例来掌握这门复杂的编程语言,以切合实际的方案来解决复杂的实际问题。   深入理解T-SQL体系结构,充分利用高级T-SQL查询技术。   本书深入介绍了T-SQL的内部体系结构,揭示了基于集合的查询的强大威力,并包含大量来自专家们的参考和建议。通过本书提供的最佳实践和示例代码,数据库开发人员和管理员完全可以掌握这门复杂的编程语言,以切合实际的方案来解决复杂的实际问题。通过本书,你将学习到如何:理解逻辑和物理的查询处理;使用方法论优化查询;在查询用TOP选项修改数据;用递归逻辑、具体化路径或嵌套集合解决方案查询特殊的数据结构;通过逻辑难题提高你的逻辑能力并掌握查询问题的核心等。   你将学习到如何:   理解逻辑和物理的查询处理;   使用方法论优化查询;   解决关系分区问题;   使用CTE和排名函数简化及优化解决方案;   用各种技术聚合数据,包括附加属性、旋转、直方图和分组因子;   在查询用TOP选项修改数据;   用递归逻辑、具体化路径或嵌套集合解决方案查询特殊的数据结构;   通过逻辑难题提高你的逻辑能力并掌握查询问题的核心; 内容简介 本书是Inside Microsoft SQL Server 2005系列四本著作的一本。本书及其续篇——《Microsoft SQL Server 2005技术内幕:T-SQL程序设计》介绍了SQL Server 2005高级T-SQL查询查询优化及编程相关的知识。这两本书侧重于解决实践的常见问题,并讨论了解决这些问题的方法。它们将向你揭示基于集合(set-based)查询的强大威力,并解释为什么它比使用游标的过程化编程(procedural programming)更具优势。同时,它还会教你识别使用基于游标解决方案与基于集合解决方案的优劣。   书还讲述了其他几种争议较多的构造(camstruct)——如临时表、动态执行、XML和.NET集成——它们在具有强大功能的同时,也具有极大的风险。   本书适合于需要编写或检查T-SQL代码的有经验的T-SQL程序员和数据库专业人员。读者可从学到大量精湛的技巧,这些技巧会充实您的工具箱和编码技能,并让您顺利地开发出高效的解决方案。 作者简介 Itzik Ben-Gan是Solid Quality Learning的首席导师和创始人。他从1999年开始便一直是SQL Server方面的Microsoft MVP,在世界各地讲授 T-SQL查询、编程和查询优化相关的课程,并提供相关咨询服务。他在SQL Server Magazine和MSDN上发表了多篇文章,并被邀请在许多专题会议上做过报告,包括TechEd、DevWeek、PASS和SQL Server Connections。 目录 序 前言 致谢 引言  本书的组织  系统要求  安装示例数据库  更新  代码示例  本书支持 第1章 逻辑查询处理  逻辑查询处理的各个阶段   逻辑查询处理阶段简介  Customers/Orders场景下的示例查询  逻辑查询处理步骤详解   步骤1:执行笛卡尔乘积(交叉联接)   步聚2:应用ON筛选器(联接条件)   步骤3:添加外部行(Outer Row)   步骤4:应用WHERE筛选器   步骤5:分组   步骤6:应用CUBE或ROLLUP选项   步骤7:应用HAVING筛选器   步骤8:处理SELECT列表   步骤9:应用DISTINCT子句   步骤10:应用ORDER BY子句   步骤11:应用TOP选项  SQL Server 2005新的逻辑处理阶段   表运算符   OVER子句   集合操作  结论 第2章 物理查询处理  查询处理期间的数据流  编译   Algebrizer   优化   使用查询计划   更新计划  结论   致谢 第3章 查询优化  本章用到的示例数据  优化方法论   分析实例级的等待   联系等待和队列   确定方案   细化到数据库/文件级别   细化到进程级别   优化索引/查询  查询优化工具   syscacheobjects   清空缓存   动态管理对象   STATISTICS IO   测量查询的运
### 回答1: 您好!针对您的问题,SQL Server 实现模糊查询可以使用 LIKE 操作符。 LIKE 操作符用于在 WHERE 子句筛选出符合指定模式的数据行。 在 LIKE 操作符,通配符 % 表示匹配任意字符(包括空字符),而 _ 则表示匹配任意一个字符。 例如,如果您要查询名字包含 "John" 的所有员工信息,可以使用以下 SQL 语句: ``` SELECT * FROM employees WHERE name LIKE '%John%'; ``` 如果您要查询名字第二个字母是 "o",第四个字母是 "n" 的所有员工信息,可以使用以下 SQL 语句: ``` SELECT * FROM employees WHERE name LIKE '_o%n%'; ``` 希望能够帮助到您!如果您还有其他问题,请随时提出。 ### 回答2: 在SQL Server,模糊查询是一种强大的方式,可以根据特定的模式或字符串片段来搜索数据。常见的模糊查询运算符包括LIKE和%。 使用LIKE运算符可以在WHERE子句进行模糊查询。LIKE运算符通常与通配符%一起使用,%表示匹配任意字符的零个或多个。例如,如果要查询包含特定字符串的所有记录,可以使用如下语句: SELECT * FROM 表名 WHERE 列名 LIKE '%字符串%' 这个查询将返回包含指定字符串的所有记录,无论其出现在字符串的开始、间或结束位置。 使用LIKE运算符时,还可以使用以下通配符: - _:匹配一个任意字符。 - [ ]:匹配括号内的任意一个字符。 - [ - ]:匹配指定范围内的任意一个字符。 例如,要查询以A或B开头的所有记录,可以使用如下语句: SELECT * FROM 表名 WHERE 列名 LIKE '[AB]%' 此外,还可以使用ESCAPE来转义通配符,以查找包含通配符字符本身的数据。例如,要查询包含%字符的所有记录,可以使用如下语句: SELECT * FROM 表名 WHERE 列名 LIKE '%\%%' ESCAPE '\' 需要注意的是,模糊查询可能会对性能产生一定的影响,特别是在大型数据库。因此,为了提高性能,可以考虑创建适当的索引或使用全文搜索功能。 总之,SQL Server提供了强大而灵活的模糊查询功能,可以满足各种数据搜索需求。 ### 回答3: 在SQL Server,可以使用模糊查询来匹配一个字符串的一部分。SQL Server实现模糊查询的方法有两种:通配符和LIKE查询。 通配符是SQL的特殊字符,用于模糊匹配。%是通配符之一,表示匹配0个或多个字符。例如,如果要查询姓氏以“张”开头的人,可以使用以下语句: SELECT * FROM 表名 WHERE 姓氏 LIKE '张%' 以上语句的%表示匹配任意个字符。这样,无论姓氏后面是什么字符,只要以“张”开头,就会被查询出来。 还有一个通配符是_,它表示匹配单个字符。例如,如果要查询名字为两个字符、以“明”结尾的人,可以使用以下语句: SELECT * FROM 表名 WHERE 名字 LIKE '__明' 以上语句的_表示匹配一个字符,两个连续的_表示匹配两个字符。这样,查询结果的名字长度为2个字符,并且以“明”结尾。 另外一种模糊查询的方法是使用LIKE语句。LIKE可以与通配符结合使用。例如,如果要查询名字包含“明”的人,可以使用以下语句: SELECT * FROM 表名 WHERE 名字 LIKE '%明%' 以上语句的%表示匹配任意个字符,这样就可以匹配包含“明”的名字,不论出现在名字的任何位置。 总的来说,SQL Server提供了通配符和LIKE查询两种方式来实现模糊查询。通过使用通配符的%和_,可以精确匹配需要的模式,实现灵活的模糊查询

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

W少年没有乌托邦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值