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)

 

posted @ 2023-03-17 15:04  刀呢  阅读(1930)  评论(0编辑  收藏  举报