背景:
String sql = "SELECT *\n" +
"FROM emp LEFT JOIN dept on emp.deptno = dept.deptno\n" +
"WHERE emp.empno = (SELECT empno FROM emp where ename like ?)";
在编写sql语句的时候,子查询查询出来empno>1条的时候,就会报出Subquery returns more than 1 row这个异常
解决方法:在子查询的sql语句前面加一个any就可以了
String sql = "SELECT *\n" +
"FROM emp LEFT JOIN dept on emp.deptno = dept.deptno\n" +
"WHERE emp.empno = any(SELECT empno FROM emp where ename like ?)";