국비 25일차_1

강지수·2024년 1월 18일
0

국비교육

목록 보기
48/97

지난 시간 복습


조인 (Join)

조인은 두 개 이상의 테이블을 양 옆에 연결하려 마치 하나의 테이블인 것 처럼 data를 조회하는 방식.

RDBMS 에서 흔히 사용하는 방식으로 여러 테이블의 데이터를 하나의 테이블처럼 조회할 수 있음.


Order by 절을 사용할 때 주의 사항

Order by 절은 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋다. 여기저기 흩어져 있는 data 를 특정 기준에 따라 순서를 맞추는 것은 많은 자원을 소모하기 때문. 특정 기준에 따라 data 2개를 정렬하는 시간보다 data 10개를 정렬하는 데 시간이 더 많이 필요함.


professor table 에서 이름의 첫글자가 M 이거나 부서번호가 102인 데이터를 교수번호로 내림차순해서 교수번호, 이름, 아이디, 부서번호, 이메일을 출력하시오


단일행 함수

단일행 함수 : 한번에 하나씩 처리하는 함수

initcap : 첫 글자를 대문자로 출력해주는 함수


Lower / Upper

Lower : 소문자


Upper : 대문자



length / lengthb

length : 문자 길이


lengthb : byte 길이


영문이기 때문에 문자 길이와 byte 길이가 같다.


한글은 글자 길이와 byte 길이가 다르다. 한글은 1글자에 3byte


dual : 가상 테이블


한자도 1글자에 3byte


일본어도 1글자에 3byte


Concat

concat : 함수 문자열 연결 (|| 과 유사)


concat 은 인수를 2개밖에 못가지기 때문에 , 3개 이상 쓰려면 concat 안의 concat으로 써야 함


응용버전


Substr

substr : 문자열을 특정 길이만큼 추출
사용 문법 : substr(문자열,위치,글자갯수)

'문자열' 에서 '위치' 번째 부터 '글자갯수' 만큼 출력
글자 갯수를 생략하면 끝까지 라는 의미
위치를 음수로 주면 뒤에서부터 '위치' 번째




Instr

instr : 특정 문자열의 위치를 반환
사용 문법 : instr(문자열,찾는 문자,시작 위치,찾는 문자 번째수)
찾는 문자가 위치하는 숫자 반환

'-' 가 위치 2에서 처음으로 나오기때문에 2를 반환한다.


3번째부터 시작하면 '-'가 위치 4에 있기때문에 위치값은 4


1번 문자부터 시작해서 '-' 가 2번째로 나오는 위치는 4이기때문에 4 를 반환한다.


3번째부터 시작하면서 2번째로 나오는 '-' 는 위치 6에 있다.


3번째부터 시작해서 5번째로 나오는 '-' 는 없기 때문에 0 을 반환한다.


지역번호 추출하기


지역번호가 ')' 로 구분되어 있으므로, ')'의 위치 파악


')' 의 위치가 각각 4,3 이므로 거기서 1을 뺀 위치까지만 추출하면 지역번호 출력


파이널 프로젝트는 대략 4~5명으로 팀구성해서 할 예정


email 에서 id 만 추출하기


Lpad / Rpad

lpad : 왼쪽에 채운다
사용 문법 : lpad(column 이름, 전체길이, 채울 문자열)

ID를 총 20의 길이 중 부족한 만큼 왼쪽으로 '*' 을 채운다.


채울 문자열이 총 길이 중 부족한만큼 순환하면서 들어간다.


rpad : 오른쪽에 채운다
사용 문법 : rpad(column 이름, 전체길이, 채울 문자열)



총 길이는 같고, 앞의 길이에 따라 출력하는 문자가 다르게 바꿔보세요

rpad 사용해서 우측에 문자열 채우기 + substr 로 '123456789' 중 ename 의 길이만큼 자르기 + ename 길이 알기 위해 length 사용


Replace

replace : 문자열 대치
사용 문법 : replace(문자열,문자1,문자2), 문자열에서 문자1을 문자2로 변경

앞글자 2글자를 '**' 로 대치시키기


문자1 과 문자2 의 길이는 같을 필요는 없어보임.



중간의 '-' 를 제거하는 미션

replace 를 통해 '-' 를 없애기 (문자2에 아무것도 넣지 않으면 문자1 삭제 와 같은 의미) + substr 을 통해 tel 중 '-' 를 선택 + instr 을 통해 tel 중 '-' 가 있는 위치 특정


주민번호 중간에 '-' 추가하는 미션

concat 을 이용해서 주민번호 앞 6자리 + '-' + 뒤 7자리를 합치기 + substr 을 이용해서 주민번호 13자리 중 앞 6자리 선택 / 13자리 중 뒤 7자리 선택


숫자 관련 함수

Round

round : 반올림함수
사용 문법 : round(숫자,표현할 소수점 자릿수), 표현할 자릿수 다음 자리에서 반올림


자릿수에 0 : 정수 표현


자릿수에 음수 : 10 의 자리, 100 의 자리 순으로 올라감


Trunc

trunc : 절삭함수

자릿수 뒤 제거 (내림)
사용 문법, 0, 음수 는 round 와 동일


Mod, Ceil, Floor

mod : 나머지함수
사용 문법 : mod(숫자, 나눌 숫자)

나머지값이 나온다.


ceil : 올림함수


floor : 내림함수


ceil 응용

rownum 이 1~3 : 1팀, 4~6 : 2팀 이런식으로 구분 가능


Power

power : 승수 함수


Sysdate

sysdate : 날짜함수, 현재 날짜를 출력 (오라클이 설치된 시스템상에서의)


Months_between

months_between : 특정 기간 개월수

앞의 날짜에서 뒤 날짜까지의 개월수, 앞이 과거이면 음수가 나옴, 앞쪽이 최근 날짜, 뒤쪽이 오래된 날짜 를 사용하면 양수


Add_months

add_months : 개월 수 추가

음수를 적으면 개월 수 감소


Next_day

next_day : 다가오는 날짜

현재 날짜 기준으로 다가오는 가장 빠른 '월요일' 의 날짜


Last_day

last_day : 월의 마지막 날짜

현재 날짜가 있는 달의 마지막 날짜


묵시적 형변환(자동 형변환) / 명시적 형변환(강제 형변환)

묵시적 형변환


명시적 형변환


Year Format





Month Format





Day Format


day : 그 날짜의 요일


ddth : 번째 일


Hour Format


숫자형을 문자형으로 변환

to_char

맨 앞에 $ 표시를 하고 매 3자리마다 ',' 를 표현

profile
개발자 준비의 준비준비중..

0개의 댓글