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
因为系统仅会读取结构信息,而不会将具体的表记录读入内存中,这无疑节省了系统开销。

SQL --- where 1=1 与 1<> 1的更多相关文章

  1. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

  2. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  3. Sql Server系列:分区表操作

    1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...

  4. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  5. EntityFramework Core Raw SQL

    前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...

  6. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  7. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  8. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

  9. 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  10. SQL Server on Linux 理由浅析

    SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...

随机推荐

  1. Python 获取MD5加密值

    Python 获取MD5加密值方法封装 import hashlib def get_md5(s): """获取MD5加密值 :param s: 需要加密的字符串 :re ...

  2. 计算机网络基础笔记 运输层协议UDP/TCP

    目录 UDP 首部结构 主要特点 TCP 首部结构 主要特点 TCP 可靠性实现 停止等待ARQ协议 连续ARQ协议&滑动窗口协议 拥塞控制 TCP 运输连接管理 连接建立:三次握手 连接释放 ...

  3. 在IOS设备上POST提交form表单,后台接收不到值怎么办?

    原文:https://blog.csdn.net/xhaimail/article/details/90440029 最近在工作上遇到一个奇葩问题,在Android和Windows平台上做请求时参数都 ...

  4. acwing 851. spfa求最短路 模板

    地址 https://www.acwing.com/problem/content/description/853/ 给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数. 请你求出 ...

  5. 11. Go 语言网络编程

    Go 语言网络编程 Go语言在编写 web 应用方面非常得力.因为目前它还没有 GUI(Graphic User Interface 图形化用户界面)的框架,通过文本或者模板展现的 html 界面是目 ...

  6. 一些你不知道的js特性【一】

    关于js 我们知道完整的js包括三个方面ECMAScript.DOM(文档对象模型).BOM(浏览器对象模型). ECMAScript定义了与宿主无关的预言基础,比如:语法(包含正则语法).类型.语句 ...

  7. 安装PS

    1:下载溜云库 2:查找PS软件,下载 3:按照教程安装

  8. UI设计---初来乍到

    2019.12.1   今天学习两节 实现自己既定的目标,必须能耐得住寂寞单干. PS下载 给大家分享一个2019ps教程,提取码:ywnl 或扫描二维码 迅捷思维导图:使用" Enter  ...

  9. MySQL常用SQL语句总结

    1.with rollup 可以实现在分组统计数据基础上再进行相同的统计 SELECT name, SUM(score) as score_count FROM  score GROUP BY nam ...

  10. HTML51-清除浮动overflow、网易注册界面基本结构搭建

    一.overflow:hidden;作用 (1)可以将超出标签范围的内容裁剪掉 (2)清除浮动 .box1{ background-color: red; /*border:1px white sol ...