SQL多个条件查询语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL多个条件查询语句相关的知识,希望对你有一定的参考价值。

设计了一个如图的查询项
如只填写地类编码(DLBM),则只搜索DLBM,其他不搜索
如果填写了多项(如地类编码DLBM和地类名称DLMC),则搜索DLBM and DLMC
想知道有什么语句能够实现这个功能么?就是将非空的textbox才作为搜索项
个人编程水平较差..只能想到用if 语句进行排列组合判断,感觉非常繁琐,效率也很低
所以特来求助

1、首先我们打开电脑里的SQL打开一个数据库。

2、然后我们点击界面上方菜单栏里的表选项打开数据库的一张表进行查询。

3、然后我们选择表右上角的加号键。

4、然后我们在编辑器中输入如图所示代码进行数据查询。

5、然后我们点击运行查看运行结果。

6、多条件查询最终结果如图所示我们可以看到多条件查询语句成功。

参考技术A Declare @DLBM nvarchar(255),@DLMC nvarchar(255)
set @DLBM='查询内容'
set @DLMC='查询内容'
select  * from 表名称 where DLBM=@DLBM and len(@DLBM)>0
union
select  * from 表名称 where DLMC=@DLMC and len(@DLMC)>0
.......拼接全部条件追问

编译出现以上错误..应该是SQL语句错误..麻烦请看下哪里应该修改

追答

你写的不对,不是给你定义了变量嘛,把数据放在
set @DLBM='查询内容'
set @DLMC='查询内容'

你的语法问题
两个SQL 拼 union 两头 都不需要分号,只要空格就可以

追问

这是在c#中调用的啊,变量在之前定义过了..
就是不知道C#中SQL语句具体怎么写

追答

string Sql="select * from dltb where 1=1 ";
if( DLBM.Length>0)
Sql+=" and DLBM='"+DLBM+"' ";
if( TBBH.Length>0)
Sql+=" and TBBH='"+TBBH+"' ";

本回答被提问者和网友采纳
参考技术B 你都用在一张表里面嘛追问

是来自同一张表的数据

追答

你可以这样写 select * from table where DLBM like ‘%+“DLBM”+%’ and DLMC like ‘%+“DLMC”+%’ and ·······但是影响查询效率。

SQL语句where多条件查询怎么写

select * from table where a=b or b=c or c=d and id>100

用or 和 and,

上面的意思是找到TABLE表里,条件为:A=B或者B=C或者C=D,而且这条数据ID>100的。。。

注意不同数据库用法不同,不过比较类似MSSQL MYSQL,只是一些语法上的不一样。

条件用

OR,或者,只要满足一个条件,

AND条件都满足,

看你自己需求来写。

参考技术A select * from a where b in(‘1’ , ‘2’, ‘3’) and c <> '4'

select * from a
where b like '%1%'
and b like '%2%'
and b like '%3%'
and c not like '%4%'

以上是关于SQL多个条件查询语句的主要内容,如果未能解决你的问题,请参考以下文章

Python中SQL语句当查询多个条件,如果条件为空,则不加入查询条件;如果条件不为空,则加入查询条件

当查询条件不确定的时候,怎么写SQL 语句

SQL语句where多条件查询怎么写

sql语句中如何一个字段对查询出的多个值添加判断条件

where条件放在子SQL语句中是否查询速度更快?

C# SQL条件查询语句where中使用变量的用法