STUDY ROOM
[MS-SQL] ERROR 512 : 하위 쿼리에서 값을 둘 이상 반환 오류 본문
SQL Error [512] [S0001]: 하위 쿼리에서 값을 둘 이상 반환했습니다. 하위 쿼리 앞에 =, !=, <, <=, >, >= 등이 오거나 하위 쿼리가 하나의 식으로 사용된 경우에는 여러 값을 반환할 수 없습니다.
> 하위쿼리가 둘 이상의 데이터를 리턴할 때, 어떤 데이터와 매칭할 지 알 수 없어 발생하는 에러. 이 경우 GROUP BY와 HAVING COUNT를 사용해서 중복값을 확인한 후 해결하거나, 하위 쿼리 앞 =가 아닌 IN,EXIST를 작성해 해결한다.
* 그렇다고 꼭 하위 쿼리가 하나의 값만 나와야하는 것은 아니다. 하위쿼리는 단일행 하위쿼리와 다중행 서브쿼리가 있으며, 다중행 하위쿼리의 경우 둘 이상의 값을 반환한다. 다중행 서브쿼리 연산자로는 IN,ANY,ALL 이 존재한다.
'SQL' 카테고리의 다른 글
[MS-SQL]CHARINDEX('찾을 문자열', '지정 문자열') (0) | 2020.09.18 |
---|---|
[MS-SQL 에러메세지] varchar 값 '*'을(를) 데이터 형식 int(으)로 변환하지 못했습니다. (0) | 2020.09.18 |
[MS-SQL] 날짜 형식 변경하기 (0) | 2020.09.02 |
프로시저(Oracle) (0) | 2020.07.07 |
프로시저 호출(Oracle) (0) | 2020.07.07 |
Comments