简单的sql语句,在线等,急~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/11 19:11:08
table里有A,B字段,怎么写SQL判断两个字段里只要有“上海”这个内容就把它查出来
我用select * from table a='上海' or b='上海' 好像查的不全

我不要%,需要完全匹配
a,b只要有一个字段里完全匹配上海的话就把查出来,我的a,b字段都建了索引

我用select * from table where a='上海' or b='上海' 查的不全呀?搞不懂
不过我试了把表的索引删掉就可以查全了,这是为什么呢

首先我要说明如果您的意思是:只要包含上海二字就要查出来,则必须使用模糊查询,就是%,当前sql还没有更高级的方法。如果只有上海儿子,用=就可以了
如果您要是a,b而字段都只有上海,用and而不是or。您看是不是您的想法没有说明白呢,所以我建议这样写
select * from table a like '%上海%' and b like '%上海%' a,b均包含
select * from table a like '%上海%' or b like '%上海%' a,b单包含

如果是完全匹配的话,你的sql脚本应该是可以的。
不会存在查询不全的!

select * from table
where (a='上海' or b='上海')

我想用select * from table where a='上海'
union all
select * from table where b='上海'
这个效率会更高

不会不全的,因为可以有a b两个字段都='上海',这样的话只显示一条

您需要使用通配符% 把语句改成 a like ('%上海%') and b like ('上海')

select * from table where a='上海' or b='上海'

用like试试