我正在学习mysql,我试图在我的查询中将“notlike”和“or”结合起来,但都是徒劳的。
假设我有一个表1,其中一列名为“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
当我与“不喜欢”组合时,如下所示:
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”和“ashispa”,我们尝试了:
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
1条答案
按热度按时间uxhixvfz1#
如果我理解正确,你只需要括号:
混合时应始终使用括号
AND
以及OR
.