对于多个单词,未使用LIKE运算符的MySQL用法

Ala*_*son 2 mysql sql syntax

似乎无法使用LIKE运算符查找有关特定SQL形式的文档.使用MySQL,使用LIKE运算符对多个单词的典型查询可能如下所示:

SELECT * from table AS t WHERE t.col LIKE '%word1%' AND t.col LIKE '%word2%'
Run Code Online (Sandbox Code Playgroud)

虽然以下语句也有效,但返回的行将根据查询中单词的顺序而有所不同.例如:

SELECT * from table WHERE col LIKE '%word1%' '%word2%'
Run Code Online (Sandbox Code Playgroud)

在没有AND布尔值的情况下执行,但结果不同:

SELECT * from table WHERE col LIKE '%word2%' '%word1%'
Run Code Online (Sandbox Code Playgroud)

我的问题是,使用这种查询形式而不是使用布尔值时实际发生了什么?

Mat*_*son 7

手册:

彼此相邻的带引号的字符串连接成一个字符串.以下行是等效的:

'a string'

'a' ' ' 'string'

所以,正在发生的事情'%word1%' '%word2%'被解释为'%word1 %% word2%'