sql多列in的用法及逻辑
假设表结构及数据如下:
sql多列in查询涉及到的查询逻辑如下:
1、一般场景我们希望查询结果是 cc=1 dd=2 或者 cc =2 dd=4 的这两行,sql语句如下:
SELECT * from test where (cc,dd) in((1,2) ,(2,4))
2、in单独使用,两个列的数据没有关系,and查询出来的是两个in的交集,即只要条件满足 cc列包含1,2 并且 dd列包含2,4的内容就会返回
SELECT * from test where cc in(1,2) and dd in(2,4)
3、in单独使用,两个列的数据没有关系,or查询出来的是两个in的并集,即只要条件满足 cc列包含1,2 或者 dd列包含2,4的内容就会返回
SELECT* from cccccc where cc in(1,2) or dd in(2,4)