728x90
반응형
SMALL
■ 리터럴 문자열(' ')
- 숫자, 날짜, 문자는 작은 따옴표로 묶어야 한다.
- 연결연산자인 ||를 사용하지 않고 그대로 '사원 번호는 ' employee_id로 사용한다면 에러발생한다.(문법)
SELECT 'My name is '||last_name||' '||first_name as "name"
FROM hr.employees;
-- 오류발생
SELECT 'My name's '||last_name||' '||first_name as "name"
FROM hr.employees;
/* My name is = My name's 출력 하기 위해서는 ''s 로 표현 */
SELECT 'My name''s '||last_name||' '||first_name as "name"
FROM hr.employees;
■ q 연산자
- q'[리터럴문자열]' : [] 안에 있는 문자열을 문자로 인식. 단, 같은 괄호끼리 묶어줘야 에러없이 진행된다.
- q'<리터럴문자열>' , q'{리터럴문자열}', q'(리터럴문자열)', q'!리터럴문자열!'
SELECT q'[My name''s ]'||last_name||' '||first_name as "name"
FROM hr.employees;
SELECT q'<["My name''s "]>'||last_name||' '||first_name as "name"
FROM hr.employees;
■ 중복행 제거
- distinct 키워드를 이용해서 중복을 제거할 수 있다.
- distinct : SELECT 절 제일 앞에 한번만 사용해야 한다.
- distinct : 나머지 값 + 숫자의 상자(키워드)
SELECT department_id
FROM hr.employees;
SELECT distinct department_id
FROM hr.employees;
SELECT department_id, job_id
FROM hr.employees;
SELECT distinct department_id, job_id
FROM hr.employees;
[계획 설명]
중복 제외하지 않았을 경우
중복 제외했을 경우
알고리즘 퀴즈
Q1) 여럿 숫자들 중에서 유니크한 숫자만 뽑기 위해서 어떻게 해야 하는가?
- 숫자의 정렬해서 중복되는 숫자를 제외하고 하나를 뽑기
Q2) 여럿 숫자들 중에서 상자 10개를 줬을때 어떤 기준 나눌 것인가?
- plan_hash (계획 설명)
- 숫자의 몫과 나머지 값 중의 나머지 값으로 기준을 잡는다
728x90
반응형
LIST
'Data Base > Oracle SQL' 카테고리의 다른 글
23.10.06. Oracle SQL NULL / LIKE 연산 (1) | 2023.10.06 |
---|---|
23.10.06. Oracle SQL WHRER 절, IN 연산자 (0) | 2023.10.06 |
23.10.05. Oracle SQL ① SELECT문 (1) | 2023.10.05 |
23.10.05. Oracle SQL_DQL, DML, TCL, DDL, DCL (0) | 2023.10.05 |
23.10.05. Oracle SQL Developer _ DBA (0) | 2023.10.05 |