sql怎样写这个字段包含某个内容或者另外一个内容?

select * from 表一  where (课程名称 like '%暑假班%'  or 课程名称 like '%寒假班%' ) and (课程名称 not like '%一对一%' ) 


这样写不对,但是逻辑却想要这样的,怎么样写??

18568453967 发布于 2019-2-28 17:59
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
黄源Lv6中级互助
发布于2019-3-1 09:15(编辑于 2019-3-1 10:07)

要三条以上才能添加括号,按住ctrl选择其中两条以上,不能全部选择。就可以添加括号。


blob.pngblob.pngblob.png

  • 18568453967 18568453967(提问者) 校区等于A6,学管师等于A8,课程名称包含暑期或者暑假班,但是不包含科目1,科目2,科目三这三科,因为这三科也有暑期或者暑假班这些字。这样的关系怎么分?
    2019-03-01 09:30 
  • 黄源 黄源 回复 18568453967(提问者) ==,有点事
    2019-03-01 09:45 
  • 黄源 黄源 回复 18568453967(提问者) 看修改
    2019-03-01 10:07 
最佳回答
0
1269186421Lv3见习互助
发布于2019-2-28 18:08

可以先把第一段条件查询into到临时表,然后对临时表进行第二段条件查询。

  • 18568453967 18568453967(提问者) 就是这样的逻辑关系,我想弄到那个过滤里面,这个是什么样的逻辑关系?
    2019-02-28 19:12 
  • 1269186421 1269186421 回复 18568453967(提问者) (select * from 表一 where 课程名称 like \'%暑假班%\' union select * from 表一 where 课程名称 like \'%寒假班%\' ) intersect select * from 表一 where 课程名称 not like \'%一对一%\'
    2019-02-28 19:28 
  • 1269186421 1269186421 回复 18568453967(提问者) SQL里面的交叉并
    2019-02-28 19:38 
最佳回答
0
晓亮Lv7资深互助
发布于2019-3-1 09:21

select * from table where 

REGEXP_LIKE(字段名, '(匹配串1|匹配串2|...)') ;//全模糊匹配


select * from table where 

REGEXP_LIKE(字段名, '^(匹配串1|匹配串2|...)') ;//右模糊匹配


select * from table where 

REGEXP_LIKE(字段名, '(匹配串1|匹配串2|...)$') ;//左模糊匹配

--------------------- 


用REGEXP_LIKE,可以匹配多个like值

  • 4关注人数
  • 2376浏览人数
  • 最后回答于:2019-3-1 10:07
    请选择关闭问题的原因
    确定 取消
    返回顶部