SQLServer多条件查询技巧
2019-10-15 13:31:04
在实际项目开发中,有很多页面都会出现多条件查询功能,类似于这种情况:

牵扯到数据就少不了数据库了。这么多条件的查询,如果要用常规的if else来写判断逻辑的话那就很长了,因为你永远不知道使用者到底选了哪几个条件来查询,那就只能考虑所有情况了。如果这样的话,无论你是在后台拼接sql语句还是数据库中写存储过程判断起来都会很麻烦。如果掌握住小技巧,相对就简单很多了。我们点开选择下拉框,右击查看一下代码:

如果这一项未选中他的value值就是0.那么在搜索的时候无论选中未选中都要把所有结果都要作为参数传到数据中,无非是它的结果就是0:


那么我们是不是可以在where 后面这样写(用上面的类型为例):select* from 表A where (类型ID=@JZType or @JZType=0) @JZType:类型参数变量
所有的查询条件都这样做不需要在做条件判断,直接一个查询语句搞定。

这样做是不是要简单多了。
希望对初学数据库的朋友有点小用!
SQLServer多条件查询技巧的更多相关文章
- C# SQL 多条件查询技巧
#region 多条件搜索时,使用List集合来拼接条件(拼接Sql) StringBuilder sql = new StringBuilder("select * from PhoneN ...
- SQLServer 存储过程中不拼接SQL字符串实现多条件查询
以前拼接的写法 set @sql=' select * from table where 1=1 ' if (@addDate is not null) set @sql = @sql+' and a ...
- java多条件查询SQL语句拼接的小技巧
问题: 一个界面有个多个文本框输入值(或下拉框)展示的查询条件,也就是组合条件查询,需要在java里面动态拼接SQL,where条件如何写? 解决思路: 在where关键字后面固定写 1=1, 若还有 ...
- SQLSERVER SQL性能优化技巧
这篇文章主要介绍了SQLSERVER SQL性能优化技巧,需要的朋友可以参考下 1.选择最有效率的表名顺序(只在基于规则的优化器中有效) SQLSERVER的解析器按照从右到左的顺序处理F ...
- [NHibernate]条件查询Criteria Query
目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...
- Sqlserver数据库分页查询
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询 ...
- SQLServer访问Oracle查询性能问题解决
原文:SQLServer访问Oracle查询性能问题解决 1. 问题 系统有个模块,需要查询Oracle数据库中的数据.目前是通过建立链接服务器实现的. SQLServer访问Oracle实现 可参考 ...
- 动态多条件查询分页以及排序(一)--MVC与Entity Framework版url分页版
一.前言 多条件查询分页以及排序 每个系统里都会有这个的代码 做好这块 可以大大提高开发效率 所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF ...
- 使用jdbc拼接条件查询语句时如何防止sql注入
本人微信公众号,欢迎扫码关注! 使用jdbc拼接条件查询语句时如何防止sql注入 最近公司的项目在上线时需要进行安全扫描,但是有几个项目中含有部分老代码,操作数据库时使用的是jdbc,并且竟然好多都是 ...
随机推荐
- 二次urldecode注入
原理大多数web程序都会对输入字符进行转换,例如addslashes(),mysql_real_escape_string(),mysql_escape_string(),也就是对单引号',双引号&q ...
- flutter安装中的一些方法
1.配置flutter环境变量 进入终端 vim ~/.bash_profile export ANDROID_HOME=~Library/Android/sdk export PATH=$PATH: ...
- Oracle 建库
Oracle得安装就不多说了 不过还是建议直接去官网下 其他渠道可能会导致安装问题 具体自己慢慢体会吧 ! 下面主要说下怎么用Oracle建库并且建用户角色 Database configur ...
- 抓包工具fiddler的Https证书设置
一.工具(option)--设置(setting)-- https-- 动作(actions)-- (open windows certificate manger)-- 搜索(fiddler)删除所 ...
- maven项目打包和运行
1. 添加pom <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</ar ...
- 吴裕雄--天生自然java开发常用类库学习笔记:比较器
class Student implements Comparable<Student> { // 指定类型为Student private String name ; private i ...
- LeetCode559 N叉树的最大深度
题目: 思路: 直接递归求解最大深度就可以,这里主要记录一下Java中比较获得两个数中最大值的方法. import java.math.*; class Solution { public int m ...
- yum相关变量浅析
问题背景 同事发现一台centos7机器的yum repo不能使用,现象为相关的repo的meta文件下载失败,提示相关meta文件的下载路径有问题. 问题分析 通过终端输出的报错,发现是/etc/y ...
- 重采样Resample 的一些研究记录。
最近项目有需要重采样算法,先找了一下,主流的就是几个开源算法,Speex / Opus / ffmpeg / sox 1.最早的事Speex,算法源自CCRMA(Center for Computer ...
- bzoj 3696: 化合物
哦,这个困惑了我好久的东西——生成函数(母函数),(然而拿这个东西去向学文化课的同学装逼并不成功...) 生成函数,就是把原来的加法组合变成乘法的指数加法,那么我们要求的值就是相应的指数的系数的值啦, ...