코딩 테스트 대비해서 정리
🤩주의🤩
답이 아무리 생각해도 맞는거 같을때
혹시 type 형이 일치하지는 않는지 확인!
(e.g.) date를 String으로 출력해서 틀리는 경우
select 문의 별칭
select name 'qwe' -- X 오류!
select name "qwe" -- O
select name as qwe -- O
select name as "qwe" -- O
-- 별칭을 줄때는 큰 따옴표!
substr(문자열, 시작인덱스, 끝인덱스)
(시작인덱스는 포함 ,끝 인덱스는 포함x)
음수는 뒤에서부터
SELECT substr('012345',1,3) -- 012
SELECT substr('012345',-3,2) -- 34
연결 연산자 - ||
null 검색 - is null, is not null
in 연산자
like 연산자
% - 글자수 무관
_ - 한글자씩
order by
select 하는 컬럼으로 가능
select empno
from emp
order by 1
initcap
lower - upper
length
lpad - rpad
ltrim - rtrim
replace
round
trunc
mod
ceil
floor
power
숫자형 -> 문자형 변환
to_char(1234, '999999') -- 9 개수만큼 자리스
to_char(1234, '009999') -- 빈자리 0으로 채움
to_char(1234, '9999.99')
to_char(1234, '999,999')
nvl
decode(name, 'min', ' 민찬', 'sm' , '상민', '누구냐 넌')
name이 min 이면 민찬 sm 이면 상민 출력 else이면 누구냐 넌 출력
case 문
SELECT ORDER_ID, PRODUCT_ID, OUT_DATE,
case when OUT_DATE <= to_date('2022-05-01','YYYY-MM-DD') then '출고완료'
when OUT_DATE > to_date('2022-05-01','YYYY-MM-DD') then '출고대기'
else '출고미정' end as 출고여부
from FOOD_ORDER
order by 1
count sum avg max min
Having
그룹바이 다음에 조건문 또 쓸수있다고 보면됨
select USER_ID, product_id
from online_sale
group by user_id, product_id
having count(*)>1
order by 1,2 desc
join - inner-> 교집합?
from table1 a [inner] join table2 b on a.id=b.id
3개조인(ansi)
from appointment a join patient p
on a.PT_NO=p.PT_NO
join doctor d
on a.MDDR_ID = d.DR_ID
Join
테이블 두개를 더해서 컬럼은 그대로고 행을 증가시키기 위해서 사용
컬럼이 일치해야한다
컬럼이 다를 경우 null as .. 을 이용한다
select to_char(SALES_DATE, 'YYYY-MM-DD') as SALES_DATE, PRODUCT_ID, null as USER_ID, SALES_AMOUNT
from OFFLINE_SALE
where to_char(SALES_DATE, 'YYYY-MM') = '2022-03'
union all
select to_char(SALES_DATE, 'YYYY-MM-DD') as SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT
from ONLINE_SALE
where to_char(SALES_DATE, 'YYYY-MM') = '2022-03'
order by 1, PRODUCT_ID, USER_ID
'DB > 오라클' 카테고리의 다른 글
[oracle] 부분범위처리 전체범위처리 (0) | 2022.08.31 |
---|---|
[oracle] trim, rtrim, ltrim 단일행 함수 (0) | 2022.08.30 |
[oracle] number타입 (0) | 2022.08.23 |
[oracle] index (Function-Based Index) (0) | 2022.08.12 |
[oralce]PL/SQL Wrapper error: Couldn't process command line arguments. (0) | 2022.07.25 |