SQL --- where 1=1 与 1<> 1
2024-08-29 21:16:32
1、Sql 中的查询语句中的where 字句是为了带条件进行查询,那么使用where 1=1 后查询的是什么
首先:查询表 tb_obge 中的所有字段
select * from dbo.obgexinzi
也可以写成
select * from dbo.obgexinzi where 1=1
因为 1=1 表示永远为真,不起约束作用查询所有,不会报错
1=1 只是为了表示永真,你使用 1<2 a='a',也行,为啥使用where 1=1来,因为 1=1 的运算开销更小,所以常用
2、既然使用where 1=1 和没有使用的效果相同为啥还要用来?
在动态查询的时候可以使用,经常见的查询条件
列句:
String sql ="select * from obgexinzi where 1=1"
if (this.tbsqlUserName.Text.Trim() != string.Empty)//姓名
{
strSql += " and Name like '%" + this.tbsqlUserName.Text.Trim() + "%'";
} if (this.ddlUserSex.Text.Trim() != string.Empty)//性别
{
strSql += " and Sex like '%" + this.ddlUserSex.SelectedValue + "%'";
}
如果要是不使用 where 1=1 ,那么就要用程序进行判断什么时候使用 and
因为这样无疑是错的。
select * from obgexinzi where and Name like
而且你也很难判断,用户使用的是那几个查询条件进行组合查询,要不要加where 或直接用 and ,无疑会,提高程序复杂度
加上后,不管有没有查询条件都不会出错,只要判断条件是不是为空就行,提高运行的效率。
select * from obgexinzi where 1=1 and Name like
3、sql 注入,使用 or 1=1 会把表中所有数据查出来,
查寻没有什么感觉要是使用 删除语句哪
delete from obgexinzi where Name = '周瑜' or 1=1 --删除表中所有
4、 where 1=1 与 1<> 1 之间的关系
select * from obgexinzi where 1=1
-- 实际等效于select * from obgexinzi where true;-- 语句将返回t1中所有的记录行 select * from obgexinzi where 1<>1
-- 实际等效于 select * from obgexinzi where false;-- 语句将返回空记录集
where 1<>1 的作用
当我们只需要获取表的字段(结构)信息,而不需要理会实际保存的记录时,可以使用where 1<> 1
因为系统仅会读取结构信息,而不会将具体的表记录读入内存中,这无疑节省了系统开销。
最新文章
- ASP.net之策略模式
- Java中String,StringBuffer与StringBuilder的差别
- iOS开发 跳转系统设置
- RMQ算法模板
- android里R.layout.的问题
- MQ集群测试环境搭建(多节点负载均衡,共享一个kahaDB文件(nas方式))
- UVa 400 Unix Is
- RouterOS的MikroTik脚本从DNS更新IPSEC端的IP地址
- Matlab中transpose函数的使用
- HDU 3157 Crazy Circuits(有源汇上下界最小流)
- RSA算法原理及实现
- Oracle拉进sqlserver表声明的建设
- ssh中Hibernate懒加载,session问题的学习与理解
- ionic2 +Angular 使用自定义图标
- java操作elasticsearch实现批量添加数据(bulk)
- 洛谷 P1078 文化之旅(CODEVS 1316)
- BZOJ2808 : 那些年我们画格子
- json、数组、html标签的修改删除
- mvc 之 RouteConfig配置
- 如何将极客时间课程制作成kindle电子书
热门文章
- linux 启动jar包 指定yml配置文件和输入日志文件
- 10. Go 语言反射
- VirtualBox中重建Host-Only网卡后无法启动虚拟机
- Python 教你识别淘宝刷单,买到称心如意的商品
- 【OCR技术系列之四】基于深度学习的文字识别
- IT兄弟连 HTML5教程 HTML5表单 多样的输入类型1
- 利用Python进行数据分析-Pandas(第四部分-数据清洗和准备)
- 构建和管理有效API市场的关键步骤
- Web前端基础(14):jQuery基础(一)
- 松软科技web课堂:JavaScript 注释