mysql中如何在上一次的查询结果中再次查询

假设一个表中有姓名,地址,公司,学历等字段,第一次搜索姓王的,第二次在第一次的结果中查询住在A小区的,第三次在第二次的基础上查询本科的用AND我知道,就假设有一个查询页面... 假设一个表中有姓名,地址,公司,学历等字段,第一次搜索姓王的,第二次在第一次的结果中查询住在A小区的,第三次在第二次的基础上查询本科的
用AND我知道,就假设有一个查询页面,上面有姓名,地址,公司,学历等这样的输入框,根据填写的内容查询,并不是每次所有的框的都填写了,用AND的话就要写很多SQL语句了,字段少还好,多了的话光写IF就够头疼的了,如果能在上一次的结果中再次查询可以省掉好多语句,修改维护起来也方便。
临时表我也想过,就是不知道查询速度如何
展开
 我来答
Ice海Man
2017-07-18 · TA获得超过302个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:205万
展开全部

你可以才用and和or 两个组合起来使用,例如:

--只是大概的结构 like 语句自己拼接
select *
from 表名
where (传入的姓名 is null or 姓名 like 传入的姓名)--没填写姓名是则该条件不生效
and (传入的地址 is null or 地址 like 传入的地址)--没填写地址是则该条件不生效
and (传入的公司 is null or 公司 like 传入的公司)--没填写公司是则该条件不生效
and (传入的学历 is null or 姓名 like 传入的学历)--没填写学历是则该条件不生效
hezhiyuan116
2011-03-13 · TA获得超过273个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:127万
展开全部
不太明白,按照您的思路,使用子查询就可以了。但是直接用and把查询条件联起来和使用子查询不是一样吗?如果是想把查询结果保存起来,下次查询的时候用,就建一个临时表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snrqtdhuqf
2011-03-15 · TA获得超过274个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:186万
展开全部
有方法,但是查询起来很慢很慢,我6万条数据两级查询就执行了19秒,用and连接1秒都不到,
给你个提示SELECT * FROM (SELECT * FROM business WHERE business_name LIKE '%沈阳%') AS a WHERE address LIKE '%沈阳%'

你利用StringBuffer,查A小区的sql语句加上 and area='A小区' 不选则继续,这样不麻烦。

还有一种方法,你把第一次查的结果放在list中,在list中查找。这样减少数据库连接了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mendorend
2011-03-15 · 超过18用户采纳过TA的回答
知道答主
回答量:197
采纳率:40%
帮助的人:32万
展开全部
老大 你是开发小程序吧,
弄个数组 全取出 不就完了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
火星傻人
2011-03-14 · 超过14用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:29.8万
展开全部
可以直接用多条件查询:
select * from 表 where 姓名 like '王%' and 地址='A小区' and 学历='本科'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式