STUDY ROOM

[MS-SQL] ERROR 512 : 하위 쿼리에서 값을 둘 이상 반환 오류 본문

SQL

[MS-SQL] ERROR 512 : 하위 쿼리에서 값을 둘 이상 반환 오류

Eva_0401 2020. 9. 22. 10:08

SQL Error [512] [S0001]: 하위 쿼리에서 값을 둘 이상 반환했습니다. 하위 쿼리 앞에 =, !=, <, <=, >, >= 등이 오거나 하위 쿼리가 하나의 식으로 사용된 경우에는 여러 값을 반환할 수 없습니다.

 

> 하위쿼리가 둘 이상의 데이터를 리턴할 때, 어떤 데이터와 매칭할 지 알 수 없어 발생하는 에러. 이 경우 GROUP BY와 HAVING COUNT를 사용해서 중복값을 확인한 후 해결하거나, 하위 쿼리 앞 =가 아닌 IN,EXIST를 작성해 해결한다.

 

* 그렇다고 꼭 하위 쿼리가 하나의 값만 나와야하는 것은 아니다. 하위쿼리는 단일행 하위쿼리와 다중행 서브쿼리가 있으며, 다중행 하위쿼리의 경우 둘 이상의 값을 반환한다.  다중행 서브쿼리 연산자로는 IN,ANY,ALL 이 존재한다.

Comments