sql语句拼接技巧(减少判断条件导致的程序臃肿)

  一个固定的sql我们可以如此拼写:select * from lccont where id < 1000 order by id ,但是如果我们不清楚查询的条件时呢?

  如果每更改一个条件就要判断是否为第一个条件对程序而言就太臃肿了,我们可以把固定部分的sql拼写为:“select * from lccont where 1=1 ” ,这样我们直接在后面追加 “and id < 1000” 就可以了。查询条件解决了,如果不清楚排序条件的时候呢?

  我们可以把固定部分的sql拼写为:“select * from lccont where 1= 1 order 1=1”这样我们只需要在后面追加 “ ,id ”就可以了。

  通过此方法减少重复而无意义的判断可以使程序的结构更清晰。

时间: 2024-07-31 14:49:37

sql语句拼接技巧(减少判断条件导致的程序臃肿)的相关文章

SQL server中的SQL语句拼接

sql语句主要操作于有条件的的增加,删除,修改或查询但在有多种可变的查询条件下,SQL语句的长度就不一定了,那就需要我们的SQL语句拼接了.比如:string sqlstr= "SELECT 条件1,条件2,条件3,条件4 FROM 表1 s1 INNER JOIN 表2 where";在程序中进行多表查询的时候由于SQL语句的长度是可变的,我们就需要字符串拼接了. sqlstr += " (S1.S_ID like @query or S1.S_NAME like @que

常用经典SQL语句大全(技巧)

三.技巧 1.1=1,1=2的使用,在SQL语句组合时用的较多 “where 1=1” 是表示选择全部    “where 1=2”全部不选, 如: if @strWhere !='' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' [email protected] end else begin set @strSQL = 'select count(*) as Total from [

Sql语句拼接(EXEC和sp_executesql的区别)

1.前言 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有.还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详加说明),还可以编写更安全的代码.EXEC在某些情况下会更灵活.除非您有令人信服的理由使用EXEC,否侧尽量使用sp_executesql. 2.EXEC的使用 EXEC命令有两种用法,

SQL SERVER 存储过程执行带输出参数的SQL语句拼接

注意:定义的要执行的SQL语句必须是nvarchar类型 CREATE PROC P_BranchOrderSalesStatistics @beginTime DateTime, --开始时间 @endTime DateTime, --结束时间 @branchCode varchar(20), --门店编码 @NewMemberCount int out, -- 新会员数量 @OrderCount int out, --订单数量 @SalesTotalPrice decimal(18,2) o

MySQL SQL语句优化技巧

1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

ORACLE百万记录SQL语句优化技巧

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用

SQL语句优化技巧

1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

在同一个sql语句中如何写不同条件的count数量 (转)

select sum(case when (t.条件字段='00') then 1 else 0 end)"描述名称1", sum(case when (t.条件字段='01') then 1 else 0 end)"描述名称2" from 表名 t

sql语句查询出表里符合条件的第二条记录的方法

创建用到的表的SQL CREATE TABLE [dbo].[emp_pay]( [employeeID] [int] NOT NULL, [base_pay] [money] NOT NULL, [commission] [decimal](2, 2) NOT NULL ) ON [PRIMARY] 生成的表,及表中的数据: --方法一 select top 1 * from ( SELECT TOP 2 * FROM [dbo].[emp_pay] WHERE base_pay = 500