技术社区
SQL where in语句中一次select多个属性值的方法
回复列表
-
0092020-03-06
在oracle数据库中使用SQL语句查询时,遇到了需要使用where in语句一次选择多个多个属性值的情况,第一反应是:
select a,b from table where (a,b) in (10000,30);
但程序报错,虽然可以使用子查询语句的方式访问:
select a,b from table where (a,b) in (select num from table where in…);
但是确定数值确实无法访问,经过尝试分析以下语句可以通过:
select a,b from table where (a,b) in (((10000),(30)));
初步分析为where a 需要第一层函数封装即(10000),在一般情况下括号被省略;where a,b理论上需要第二层函数封装((10000),(30)),但是由于where不支持a,b语法,所以还需要第三层封装,即最终结果(((10000),(30)))。