作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 MySQL,我尝试在查询中将“NOT LIKE”与“OR”结合起来,但没有成功。
假设我有一个 table1,其中有一列名为“word”,如下所示:
word
1 SPAS
2 SPAM
3 HILAS
4 BAMM
5 ASCAR
6 CASE
7 ASHISPA
如果运行此代码:
SELECT * FROM table1
WHERE table1.word LIKE '%AS%' AND
table1.word LIKE '%SP%';
我明白
word
1 SPAS
7 ASHISPA
当我与“NOT LIKE”组合时,如下所示:
SELECT * FROM table1
WHERE table1.word LIKE '%AS%' AND
table1.word LIKE '%SP%' AND
table1.word NOT LIKE '%HI%';
我得到以下信息:
word
1 SPAS
当我使用“OR”运行查询时,如下所示:
SELECT * FROM table1
WHERE table1.word LIKE '%AS%' or
table1.word LIKE '%SP%';
我得到的结果是:
word
1 SPAS
2 SPAM
3 HILAS
5 ASCAR
6 CASE
7 ASHISPA
为了省略“HILAS”和“ASHSPA”已尝试过:
SELECT * FROM table1
WHERE table1.word LIKE '%AS%' OR
table1.word LIKE '%SP%' AND
table1.word NOT LIKE '%HI%'
得到:
word
1 SPAS
2 SPAM
3 HILAS
5 ASCAR
6 CASE
7 ASHISPA
如何使用“OR”查询带有“SP”和“AS”的单词,并使用“NOT LIKE”排除带有“HI”的单词并得到以下结果:
word
1 SPAS
2 SPAM
5 ASCAR
6 CASE
最佳答案
如果我理解正确的话,你只需要括号:
WHERE (table1.word LIKE '%AS%' OR table1.word LIKE '%SP%') AND
table1.word NOT LIKE '%HI%'
混合 AND
和 OR
时应始终使用括号。
关于mysql - 组合 "LIKE"、 "NOT LIKE"和 "OR",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50740981/
我是一名优秀的程序员,十分优秀!