gpt4 book ai didi

mysql - 组合 "LIKE"、 "NOT LIKE"和 "OR"

转载 作者:行者123 更新时间:2023-11-29 06:43:03 26 4
gpt4 key购买 nike

我正在学习 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%'

混合 ANDOR 时应始终使用括号。

关于mysql - 组合 "LIKE"、 "NOT LIKE"和 "OR",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50740981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com