SQL多表模糊查询

Posted

tags:

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

我现在要查询3个表 分别是chushou chuzu qiugou 这3个表 根据关键字查询 谁能帮忙下一个 谢谢

1.我觉得你这样就行了,一般也是这样来实现的
2.对于模糊查询T-SQL有四个通配符
%:包含0个或多个字符
_:匹配指定;
[]:指定范围
[^]:排除范围
3.你考虑的这种空格,可以在查询前,用js正则表达式来过滤。
4.对于稍复杂点的关键词搜索(比如新闻),常用的办法是在数据库中添加一个keyword字段,来配合通配符进行模糊查询或分类查询或热门关键字查询
5.关于复杂点的模糊查询,更好的方法是不用这些通配符来实现,而是通过js来实现(例如输入时产生搜索提示),或其他方法来作,思路是尽量少的对数据库进行操作。
参考技术A oracle为例:
select B.* from A,B WHERE instr(A.m,B.n)=1 这是效率比like高的一个写法,可以查一下其他数据库类似的方法.
如果不计较效率,可以用select B.* from A,B WHERE A.m like B.n||'%'
参考技术B --on 关联你想要的条件
select b[n].[关键字] from chushou b1
left join chuzu b2 on b1.[关键字]=b2.[关键字]
left join qiugou b3 on b3.[关键字]=b1.[关键字]
where b[n]='条件' ........
参考技术C 落下个字段 ,是这样的 Where 字段 like '%查询值%' or 字段2 like '%查询值%' or 字段3 like '%查询值%' 参考技术D select a.*,b.*,c.* where a.id=b.id and a.id=c.id and b.id=c.id

SQL:一个表多列模糊查询


列1 列2 列3 列4
12ab 23bc 13ac 12bc

多列进行模糊查询,sql语句怎么写
比如:关键字3,把有3的列都显示出来

1.我觉得你这样就行了,一般也是这样来实现的
2.对于模糊查询T-SQL有四个通配符
%:包含0个或多个字符
_:匹配指定;
[]:指定范围
[^]:排除范围
3.你考虑的这种空格,可以在查询前,用js正则表达式来过滤。
4.对于稍复杂点的关键词搜索(比如新闻),常用的办法是在数据库中添加一个keyword字段,来配合通配符进行模糊查询或分类查询或热门关键字查询
5.关于复杂点的模糊查询,更好的方法是不用这些通配符来实现,而是通过js来实现(例如输入时产生搜索提示),或其他方法来作,思路是尽量少的对数据库进行操作。
参考技术A select decode(instr(列1,关键字),0,'',列1) 列1,decode(instr(列2,关键字),0,'',列2) 列2,
decode(instr(列3,关键字),0,'',列3) 列3,decode(instr(列4,关键字),0,'',列4) 列4
from xx

where 列1||列2||列3||列4 like '%关键字%'本回答被提问者和网友采纳
参考技术B 落下个字段 ,是这样的 Where 字段 like '%查询值%' or 字段2 like '%查询值%' or 字段3 like '%查询值%' 参考技术C select *
from 表
where 列1 like '%3%' or 列2 like '%3%' or 列3 like '%3%' or 列4 like '%3%'

以上是关于SQL多表模糊查询的主要内容,如果未能解决你的问题,请参考以下文章

关于mysql的多表联合模糊查询问题

SQL:一个表多列模糊查询

关于sql模糊查询(全字段)

ORACLE多表模糊查询问题

sqlserver2008从一个表中模糊查询并分页

sqlserver2005模糊查询分页具体该怎么实现?