SQLite中IN结合子查询返回结果异常的技术咨询
SQLite中IN子查询返回结果异常的问题
先创建测试表并插入数据:
CREATE TABLE minitable (uid INTEGER primary key); insert into minitable values (1); insert into minitable values (2); insert into minitable values (3); insert into minitable values (4); insert into minitable values (5); insert into minitable values (6);
执行以下查询时:
select uid from minitable as gp where uid in ( (select uid from minitable) );
SQLite仅返回1行结果,但在MariaDB、PostgreSQL等数据库中,该查询会返回1至6的全部6条数据。
而执行硬编码值的IN查询时:
select uid from minitable as gp where uid in ( 1,2,3,4,5,6 );
SQLite与MariaDB、PostgreSQL表现一致,返回全部6条结果。
测试涉及的SQLite版本包括3.40.1、3.21、3.37。
内容的提问来源于stack exchange,提问作者Gilles Olivier Vollant
相关产品推荐
相关产品推荐

