Я изучаю MySQL, и я пытался скомбинировать «НЕ НРАВИТСЯ» с «ИЛИ» в моих запросах напрасно.
Предполагая, что у меня есть таблица 1 с одним столбцом под названием «слово», как показано ниже:
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
Когда я запускаю запрос с "ИЛИ", как показано ниже:
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
Как можно использовать «ИЛИ» для запроса слов с «SP»'и' КАК 'и используйте «НЕ НРАВИТСЯ», чтобы исключить тех, у кого есть «HI», и получите следующие результаты:
word
1 SPAS
2 SPAM
5 ASCAR
6 CASE