我使用了两种不同的数据库POSTGRE-SQL和MSSQL以及java-hibernate标准API。条件的Sql转换如下所示:
Select * From table t WHERE (t.a, t.b) IN (SELECT max(this_.a) AS y0_, this_.b AS y1_ FROM table this_ GROUP BY this_.id )这个多列中的Where查询在
我有一个查询返回给我正确的数据,但作为一名开发人员而不是DBA,我想知道是否有任何理由将其转换为联接而不是嵌套选择,如果有,它将是什么样子。select * from adjustments where store_id in ( select original_id from stores where name ='abcd'))
假设有一个名为tab01的表,并且它有一个名为col01的varchar类型列。如下所示。SELECT * FROM tab01 WHERE col01 IN (TRUE);SELECT * FROM tab01 WHERE col01 IN (FALSE);SELECT * FROM tab01 WHERE col01 IN ('val01');
在中,这三个语句具有bit_expr [NOT] IN (expr [, expr] ...