728x90

이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의 수강하며 정리한 글입니다.

 

 

14강 연산을 통한 데이터 조회 (산술 연산자)

 

공지사항의 조회수를 조회하시오.

단, 기존 값에 1을 더해서 조회하시오.

SELECT HIT+1 FROM NOTICE;

→ COL NAME: HIT+1이 되는 문제 발생

 

COL_NAME 별칭 부여

SELECT HIT+1 HIT FROM NOTICE;
-- SELECT HIT+1 AS HIT FROM NOTICE;
-- AS 생략이 바람직

 

SELECT는 반드시 FROM과 사용해야 함

SELECT 1 +’3’; → 산술 연산을 실행하여 출력할 수X

SELECT 1 + '3' FROM DUAL;
-- 4

ORACLE에서 제공하는 DUMMY TABLE(DUAL) 사용하여 산술 연산 시행

일반적으로 +연산자 수행 시, 데이터 손실이 없는 방향으로 연산이 맞춰지기에 문자로 변환됨

⚠️ 그러나 SQL에서는 +는 숫자만 더해주므로 4가 도출됨

 

→ 문자 연결 시, 다른 연산자 사용

문자열 덧셈 연산자(||)

SELECT ‘3’ || 10 FROM DUAL;
-- 13

 

모든 회원의 이름을 조회하시오.

단 이름은 ID를 붙여서 나타내시오. 예: 홍길동(hong)

SELECT NAME || '(' || ID || ')' NEW_NAME FROM MEMBER;
-- 손오공(dragon)

 

 

 

소스 코드

🔗 HJ0216/TIL/OracleSQL

728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

ORA-25154: USING 절의 열 부분은 식별자를 가질 수 없음
25154. 00000 -  "column part of USING clause cannot have qualifier"

 

 

발생 원인

USING()에는 직접적으로 식별자(COLUMN FULL NAME, COLUMN 약어) 기재가 불가능할뿐만 아니라, 간접적으로 SELECT절에서 USING에 사용되는 COL_NAME에 식별자를 사용할 수 없음

 

 

해결 방법

SNO이 SCORE TABLE의 COL_NAME과 겹치지만 FROM절에 명시된 TABLE은 STUDENT이므로 식별자를 따로 기재하지 않아도 문제가되지 않음

728x90
728x90

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

 

 

발생 Error

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

⚠️ 다음과 같은 Error 발생

ORA-01748: 열명 그 자체만 사용할 수 있습니다
01748. 00000 -  "only simple column names allowed here"

 

 

발생 원인

USING()에는 식별자(COLUMN FULL NAME, COLUMN 약어) 기재 불가

 

 

해결 방법

USING(COL_NAME): 식별자를 제외하고 COL_NAME만 단독으로 기재

728x90
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