SQL语句中in是否只能作用于一个字段而不能作用于多个字段?

2025-03-23 01:30:11
推荐回答(4个)
回答1:

where (a,b) in ( (1,2,3),('a','b','c') )
2个括号

回答2:

多字段用 left join 作连接

也可以这样用
select *
from table
where
col1 in(col2,col3)

参照

回答3:

IN:确定给定的值是否与子查询或列表中的值相匹配。
IN 关键字使您得以选择与列表中的任意一个值匹配的行。
当要获得居住在 California、Indiana 或 Maryland 州的所有作者的姓名和州的列表时,就需要下列查询:
SELECT ProductID, ProductName FROM Northwind.dbo.Products WHERE CategoryID = 1 OR CategoryID = 4 OR CategoryID = 5
然而,如果使用 IN,少键入一些字符也可以得到同样的结果:
SELECT ProductID, ProductName FROM Northwind.dbo.Products WHERE CategoryID IN (1, 4, 5)
IN 关键字之后的项目必须用逗号隔开,并且括在括号中。
下列查询在 titleauthor 表中查找在任一种书中得到的版税少于 50% 的所有作者的 au_id,然后从 authors 表中选择 au_id 与
titleauthor 查询结果匹配的所有作者的姓名:
SELECT au_lname, au_fname FROM authors WHERE au_id IN (SELECT au_id FROM titleauthor WHERE royaltyper <50)
结果显示有一些作者属于少于 50% 的一类。

回答4:

in只能针对一个字段的多个值的情况。