临近毕业答辩,最近老有同学问多条件查询,模糊查询其实没那么复杂。别想的复杂了。
在企业应用程序开发中经常遇到,查询数据库的时候,查询的where条件可能不止一个,可能没有条件,也有可能至少一个或者多个条件,遇到这种情况,今天看到论坛上有人用C#的 if 语句拼接,这样解决可以是可以,不过显得太过累赘也没有必要,其实,一句固定的 sql 语句句型即可解决:
关于多条件查询
select * from t
where (a = @a or @a is null)
and (b = @b or @b is null)
and (c = @c or @c is null)
-- 如果参数 @a、@b、@c 的某一个值为 null,则等同于无该条件
无非就是这样而已
关于模糊查询
select * from t where xx like xxx;
仅此而已
关于多条件模糊查询,或者说的多个字段里面的数据模糊查询
结合上面两个很容易就实现了
select * from t where (a like xx or b like xxx)
and (.......)
.........
好多在学校没什么实际开发经验的同学老师被这些牛b的名词吓到了。
其实好好想想这些无非就是几句代码的事情,而且数据库的课程里面都讲过。大家淡定。
另外大三大四有机会出去实习的尽量去吧。提高会很快,学到的东西比在学校多得多。那怕你在公司天天打酱油,也不学校学的东西多。当然你最好能多学习,这样你会有一个质的提升。
在公司打酱油,顺便回答学校同学的问题后的一些乱七八糟的话。高手莫笑。