👉 기본 환경

- Language: Oracle

 

 

⌨️ 코드

1
2
3
4
5
6
7
8
  SELECT ANIMAL_ID, 
         ANIMAL_ID, 
         SEX_UPON_INTAKE
    FROM ANIMAL_INS
   WHERE NAME IN ('Lucy''Ella''Pickle''Rogan''Sabrina''Mitty')
ORDER BY ANIMAL_ID
;
 
 

 

 

🖨️오류

ORA-00960: ambiguous column naming in select list

 

 

📡 원인

SELECT절에 조회 COL Name이 중복됨

 

 

📰 해결 방법

1
2
3
4
5
6
7
8
  SELECT ANIMAL_ID, 
         NAME, 
         SEX_UPON_INTAKE
    FROM ANIMAL_INS
   WHERE NAME IN ('Lucy''Ella''Pickle''Rogan''Sabrina''Mitty')
ORDER BY ANIMAL_ID
;
 
 

중복된 COL Name 삭제

 

👉 기본 환경

- Language: Oracle

 

 

⌨️ 코드

1
2
3
4
5
6
7
8
9
SELECT FLAVOR, 
       INGREDIENT_TYPE 
  FROM ICECREAM_INFO 
 WHERE FLAVOR IN (SELECT FLAVOR 
                    FROM FIRST_HALF 
                   WHERE TOTAL_ORDER>3000 
                ORDER BY TOTAL_ORDER DESC)
   AND INGREDIENT_TYPE = 'fruit_based';
 
 

 

 

🖨️오류

ORA-00907: missing right parenthesis

 

 

📡 원인

서브쿼리에서 ORDER BY를 사용할 수 없으나, 사용하여 쿼리가 제대로 인식되지 않음

 

 

📰 해결 방법

1
2
3
4
5
6
7
8
  SELECT FLAVOR
    FROM FIRST_HALF 
   WHERE FLAVOR IN (SELECT FLAVOR 
                       FROM ICECREAM_INFO 
                      WHERE INGREDIENT_TYPE = 'fruit_based')
     AND TOTAL_ORDER > 3000
ORDER BY TOTAL_ORDER DESC;
 
 

ORDER BY 절을 메인 쿼리로 이동

 

👉 기본 환경

- 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 연산자 활용

 

👉 기본 환경

- Language: Oracle

 

 

⌨️ 코드

1
2
3
4
5
SELECT PRICE MAX_PRICE
  FROM PRODUCT
 WHERE PRICE = SELECT MAX(PRICE) 
                 FROM PRODUCT;
 
 

 

 

🖨️오류

ORA-00936: missing expression

 

 

📡 원인

WHERE절 서브 쿼리는 ()로 구분하지 않아, 쿼리가 제대로 인식되지 않음

 

 

📰 해결 방법

1
2
3
4
5
SELECT PRICE MAX_PRICE
  FROM PRODUCT
 WHERE PRICE = (SELECT MAX(PRICE) 
                 FROM PRODUCT);
 
 

서브 쿼리에 () 추가

 

👉 기본 환경

- Language: Oracle

 

 

⌨️ 코드

1
2
3
4
5
          SELECT J.FLAVOR, 
                 J.TOTAL_ORDER
            FROM JULY J 
FULL OUTTER JOIN FIRST_HALF FH;
 
 

 

 

🖨️오류

ORA-00905: missing keyword

 

 

📡 원인

Full Outer Join 오타로 인해 쿼리가 제대로 인식되지 않음

 

 

📰 해결 방법

1
2
3
4
5
         SELECT J.FLAVOR, 
                J.TOTAL_ORDER
           FROM JULY J 
FULL OUTER JOIN FIRST_HALF FH;
 
 

OUTTER ▶ OUTER