sql 查询 "WHERE IN"
sql query "WHERE IN"
我有这个问题:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN ()
当我执行它时 returns 消息:
Incorrect syntax near ')'.
有什么问题?
您需要为 IN
运算符添加值:
例如:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN (1,2,3,4)
阅读 w3school 中的语法。
IN SQL 的语法:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
在以下查询中提供 () 之间的值:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN ()
Your values are missing that throws you error.
检查演示示例 here。
那是因为,你的IN
子句没有parameter/argumentWHERE BeneficaryID IN ()
。应该是WHERE BeneficaryID IN (id1,id2,id3, ...,idn)
您当前的查询与下面所说的相同,不需要WHERE
条件
SELECT Company_Name FROM tblBeneficaries
SELECT Company_Name
FROM tblBeneficaries
WHERE BeneficaryID IN (1,2,3,4)
如果 BeneficaryID
是 INT
,请将 () 替换为您的 BeneficaryID
,这样执行。
如果 BeneficaryID
是 VARCHAR
,则为值添加 ''
,例如 ('1', '2')
您缺少 in 条件中的参数。
请在下方找到 link 以了解正确使用 WHERE IN 的方法:
您的查询应该return 没有行,因为所需的 BeneficaryID 集是空的。然而,此语法无效,因为不幸的是,IN 子句 必须 至少包含一个值。为了表示一个空集,添加NULL:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN (NULL);
这在动态构建查询时很有用,在这种情况下,您最终会在集合中得到零个或多个元素,即 (NULL)
表示空集,(NULL, 4, 16)
表示一组数字 4 和例如 16。
IN 子句仍然是一个烦人的限制,并且显示的技巧不适用于 NOT IN! (添加 NULL 会阻止您获取 any 记录,因此您必须使用从未使用过的非空值,例如 WHERE BeneficaryID NOT IN (-1)
)。
我有这个问题:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN ()
当我执行它时 returns 消息:
Incorrect syntax near ')'.
有什么问题?
您需要为 IN
运算符添加值:
例如:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN (1,2,3,4)
阅读 w3school 中的语法。
IN SQL 的语法:
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
在以下查询中提供 () 之间的值:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN ()
Your values are missing that throws you error.
检查演示示例 here。
那是因为,你的IN
子句没有parameter/argumentWHERE BeneficaryID IN ()
。应该是WHERE BeneficaryID IN (id1,id2,id3, ...,idn)
您当前的查询与下面所说的相同,不需要WHERE
条件
SELECT Company_Name FROM tblBeneficaries
SELECT Company_Name
FROM tblBeneficaries
WHERE BeneficaryID IN (1,2,3,4)
如果 BeneficaryID
是 INT
,请将 () 替换为您的 BeneficaryID
,这样执行。
如果 BeneficaryID
是 VARCHAR
,则为值添加 ''
,例如 ('1', '2')
您缺少 in 条件中的参数。
请在下方找到 link 以了解正确使用 WHERE IN 的方法:
您的查询应该return 没有行,因为所需的 BeneficaryID 集是空的。然而,此语法无效,因为不幸的是,IN 子句 必须 至少包含一个值。为了表示一个空集,添加NULL:
SELECT Company_Name FROM tblBeneficaries WHERE BeneficaryID IN (NULL);
这在动态构建查询时很有用,在这种情况下,您最终会在集合中得到零个或多个元素,即 (NULL)
表示空集,(NULL, 4, 16)
表示一组数字 4 和例如 16。
IN 子句仍然是一个烦人的限制,并且显示的技巧不适用于 NOT IN! (添加 NULL 会阻止您获取 any 记录,因此您必须使用从未使用过的非空值,例如 WHERE BeneficaryID NOT IN (-1)
)。