728x90

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00936: 누락된 표현식
00936. 00000 -  "missing expression"

 

 

발생 원인

LIKE 절과 IN 연산자를 함께 사용할 수 없음

 

 

해결 방법

IN 연산자 대신 OR 연산자 활용

 

 

 

참고 자료

📑 [SQL] 쿼리 where절의 Like 와 In 을 동시에 사용하기

 

728x90
728x90

 

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

 

 

Language: Java

 

⭐ 수학적 규칙을 수식화해보기

1

7 = 1 + 6

19 = (1+6) + 12

37 = (1+6+12) + 18

 

 

소스 코드

🔗 HJ0216/TIL

728x90
728x90

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00918: 열의 정의가 애매합니다
00918. 00000 -  "column ambiguously defined"

 

 

발생 원인

TABLE JOIN 시, COL_NAME: SNO, CNO이 2개 이상의 TABLE에 존재하여, SELECT COL_NAME 시 어떤 TABLE에서 COL을 참조해야할지가 불분명함

 

 

해결 방법

중복되는 COL_NAME에는 TABLE_NAME을 명시적으로 지정

 

728x90
728x90

 기본 환경: IDE: SQL Developer, Language: Oracle SQL

 

 

발생 Error

Oracle SQL로 다음 Source Code를 실행할 경우,

⚠️ 다음과 같은 Error 발생

ORA-00934: 그룹 함수는 허가되지 않습니다
00934. 00000 -  "group function is not allowed here"

 

 

발생 원인

WHERE 조건절은 RECORD(ROW) 1개씩 검토하므로 그룹함수*(SUM, AVG, MAX 등)를 사용할 수 없음

* 그룹 함수: 테이블의 전체 행을 하나 이상의 컬럼을 기준으로 컬럼값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수

 

 

해결방법

HAVING 절을 추가적으로 사용

728x90
728x90

👉 기본 환경

- Language: Oracle

 

 

⌨️ 코드

1
2
3
4
5
6
7
  SELECT TO_CHAR(DATETIME'hh') HOUR, COUNT(*) COUNT
    FROM ANIMAL_OUTS
GROUP BY TO_CHAR(DATETIME'hh')
  HAVING TO_CHAR(DATETIME'hh24'>= '09' AND TO_CHAR(DATETIME'hh24'< '20'
ORDER BY HOUR
;
 
 

 

 

🖨️오류

ORA-00979: not a GROUP BY expression

 

 

📡 원인

집계함수(SUM, AVG 등)를 제외하고 GROUP BY절에 없는 열을 SELECT에서 조회하거나 HAVING에서 사용

 

 

📰 해결 방법

1
2
3
4
5
6
7
  SELECT TO_CHAR(DATETIME'hh') HOUR, COUNT(*) COUNT
    FROM ANIMAL_OUTS
GROUP BY TO_CHAR(DATETIME'hh')
  HAVING TO_CHAR(DATETIME'hh'>= '09' AND TO_CHAR(DATETIME'hh'< '20'
ORDER BY HOUR
;
 
 

 

728x90