본문 바로가기
DataBase/Oracle with Error

[해결 방법] ORA-01427: single-row subquery returns more than one row

by HJ0216 2023. 8. 28.

👉 기본 환경

- Language: Oracle

 

 

⌨️ 코드

1
2
3
4
5
6
7
SELECT FLAVOR, 
       INGREDIENT_TYPE
  FROM ICECREAM_INFO 
 WHERE FLAVOR = (SELECT FLAVOR 
                   FROM FIRST_HALF 
                  WHERE TOTAL_ORDER>3000);
 
 

 

 

🖨️오류

ORA-01427: single-row subquery returns more than one row

 

 

📡 원인

서브쿼리에서 반환되는 열의 개수가 2개 이상인데, 연산자를 =을 사용

 

 

📰 해결 방법

1
2
3
4
5
6
7
SELECT FLAVOR, 
       INGREDIENT_TYPE
  FROM ICECREAM_INFO 
 WHERE FLAVOR IN (SELECT FLAVOR 
                    FROM FIRST_HALF 
                   WHERE TOTAL_ORDER>3000);
 
 
 

여러개의 레코드가 반환될 때, IN 연산자 활용