Oracle
-- 한 줄 주석은 이렇게 --
/*
여러 줄 주석은 이렇게.
Java랑 같다.
*/
Concatenation(column + column)
결과만 붙어 보이는 것이고 원 데이터는 변하지 않음.
select first_name || ' ' || last_name
-> first_name + last_name
select first_name || '''s last name is || last_name
-> first_name's last name is last_name
' ' 안에 '를 쓰고 싶으면 두 번('') 쓴다.
Column 이름 바꿔서 보기
select first_name (as) name -> 대문자 NAME으로 나옴.
select first_name (as) "Name" -> 문자 'Name' 그대로 나옴.
Where == 조건 검사(if)
select first_name || ' ' || last_name "이름",
salary "연봉"
from employees
where first_name = 'Lex';
비교는 ==가 아닌 =으로. String은 " "가 아닌 ' '로 묶음.
IN
select first_name
from employees
where first_name in ('Lex', 'John');
where a in (a, b, c);
in으로 값이 같은지 검사.
like
where first_name like '%a%';
% 임의의 길이 문자열
_ 한 글자 길이
ex)
Ad
Abella
Abert
Hellooo
Two
Wind
where first_name like 'A%'
-> Ad, Abella, Abert
where first_name like 'A_'
-> Ad
where first_name like '%e%'
-> Abella, Abert, Hello
where first_name like '_e%'
-> Hellooo
where first_name like '_w_'
-> Two
NULL 검사
where first_name is null / is not null
order by
1234... -> 오름차순(asc)
10987... -> 내림차순(desc)
단일함수
SELECT문에서 쓰면 계산되어 나옴.
substr(s , n, m) s의 n부터 m까지 반환
select first_name,
substr(first_name, 1, 3),
substr(first_name, -5, 2) -- 글자 수 넘어가면 null 됨.
from employees
where department_id = 100;
lpad / rpad(s, n, c) s의 왼/오른쪽을 c로 채움. n은 총 문자 길이
select first_name,
lpad(first_name, 10, 'o'), -- 숫자는 총 문자 길이
rpad(first_name, 10, '/')
from employees;
trim / ltrim / rtrim(s, c) s에서 c 제거
select ltrim('ababaccdcd', 'ab') -- 문자 연속이 끝나면 trim 끝. 그 뒤는 검사 안함.
from dual;
-> 결과 : ccdcd
'ab'를 묶어 제거하는 것이 아니라 a 제거하고 b 제거하고 이런식.
select '---' || trim(' ' from ' data base****') || '---' -- 공백을 [ data base****]에서 제거함.
from dual; -- 가상 테이블
결과 : ---data base****---
Query 순서
select * from * where * order by *
ex)
SELECT first_name,
manager_id,
commission_pct,
salary
FROM employees
WHERE manager_id IS NOT NULL
AND commission_pct IS NULL
AND salary > 3000
ORDER BY salary ASC;
COMMIT
insert, update, delete는 바로 반영되지 않는다.
commit 해야 반영됨.
rollback : 이전 commit한 시점으로 돌아감.
'공부 > DB' 카테고리의 다른 글
Microsoft SQL Server stored procedure select값 가져오기 (0) | 2018.08.12 |
---|---|
DB ) 구문 완벽한데 DB에 반영이 안될 때 (0) | 2018.02.14 |
ORA-00984: column not allowed here (0) | 2018.02.13 |
table, sequence 만들기 예제 (0) | 2018.01.23 |