查询#1064的Sql错误

查询#1064的Sql错误,sql,Sql,您好,我试图在数据库上运行查询,但我一直遇到此错误,您是否看到我的查询有任何错误 SELECT * FROM `data` WHERE `Category` LIKE '%beauty%' and not in (SELECT * FROM `data` WHERE `Category` LIKE 'beauty%') thanx。。。和类别 SELECT * FROM `data` WHERE `Category` LIKE '%beauty%' and `Category` not in

您好,我试图在数据库上运行查询,但我一直遇到此错误,您是否看到我的查询有任何错误

SELECT *
FROM `data`
WHERE `Category` LIKE '%beauty%' and not in (SELECT *
FROM `data`
WHERE `Category` LIKE 'beauty%')

thanx

。。。和
类别

SELECT *
FROM `data`
WHERE `Category` LIKE '%beauty%' and `Category` not in (SELECT *
FROM `data`
WHERE `Category` LIKE 'beauty%')

。。。和
类别

SELECT *
FROM `data`
WHERE `Category` LIKE '%beauty%' and `Category` not in (SELECT *
FROM `data`
WHERE `Category` LIKE 'beauty%')

问题在于这方面:

而不是在

corect语法是

and not <field name> in (Select <INDIVIDUAL FIELD> from ...)
相当于

SELECT *
FROM `data`
WHERE `Category` LIKE '%beauty%' and `Category`  NOT LIKE 'beauty%'
在我看来,哪个更容易阅读

有关在WHERE子句的in语句中使用子查询的详细信息,请参见


向下滚动以查找文章中的“相关子查询”。

问题出在以下区域:

而不是在

corect语法是

and not <field name> in (Select <INDIVIDUAL FIELD> from ...)
相当于

SELECT *
FROM `data`
WHERE `Category` LIKE '%beauty%' and `Category`  NOT LIKE 'beauty%'
在我看来,哪个更容易阅读

有关在WHERE子句的in语句中使用子查询的详细信息,请参见


向下滚动查找文章中的“相关子查询”。

我认为您的查询应该如下所示:

SELECT   *
FROM     `data`
WHERE    `Category` LIKE '%beauty%' 
AND      `Category` NOT IN
(
    SELECT   `Category`
    FROM     `data`
    WHERE    `Category` LIKE 'beauty%'
)
无论如何,我会将查询重写为:

SELECT   *
FROM     `data`
WHERE    `Category` LIKE '%beauty%' 
AND      `Category` NOT LIKE 'beauty%'

我认为您的查询应该如下所示:

SELECT   *
FROM     `data`
WHERE    `Category` LIKE '%beauty%' 
AND      `Category` NOT IN
(
    SELECT   `Category`
    FROM     `data`
    WHERE    `Category` LIKE 'beauty%'
)
无论如何,我会将查询重写为:

SELECT   *
FROM     `data`
WHERE    `Category` LIKE '%beauty%' 
AND      `Category` NOT LIKE 'beauty%'

为什么在这里需要子查询?这应该是你的问题

SELECT *
FROM `data`
WHERE `Category` LIKE '%beauty%' and `Category` not LIKE 'beauty%'

为什么在这里需要子查询?这应该是你的问题

SELECT *
FROM `data`
WHERE `Category` LIKE '%beauty%' and `Category` not LIKE 'beauty%'

…和
Category
NOT IN(SELE…)和
Category
NOT IN(SELE…)这仅在“data”仅包含一列时有效。即使如此,大多数工具也不会在where子句的子查询中使用*。这仅在“data”时有效只包含一列。即使这样,大多数工具也不会在where子句的子查询中使用*。“和
Category
NOT
Category
LIKE'beauty%'”应该是“和
Category
NOT LIKE'beauty%'”@Maximilian Mayerl-谢谢!Thnx。这在愚蠢地截断表之前是很有帮助的:)哦,好吧,至少我有垃圾堆。“和
Category
NOT
Category
像‘beauty%”应该是“和
Category
不像‘beauty%””@Maximilian Mayerl-谢谢!Thnx。这在愚蠢地截断表格之前是很有帮助的:)哦,我至少有垃圾堆。