본문 바로가기

전체 글

(14)
join join : 2개 이상의 테이블을 연결하여, data를 select 하는 기법. 예시) select * from emp; select * from dept; select ename, emp.deptno, dept.deptno, dname from emp, dept where emp.deptno = dept.deptno order by emp.deptno; equi join - 동등한 조건으로 두 개 이상의 테이블을 조회 하는 것. - 동등 비교 연산자를 사용한 join 문장. - 가장 일반적이고 가장 많이 사용하는 join 문장. 예시) select 별명1.ename, 별명1.deptno, 별명2.deptno, 별명2.dname, 별명2.loc from emp 별명1, dept 별명2 -- table a..
constraints constraints - 테이블에 오류 data가 입력되는 것을 막기 위한 최소한의 규칙을 의미함. - primary key : not null + unique - foriegn key : 다른 테이블을 연결/참조/참고 하는 속성. - not null : 데이터를 반드시 입력해야 한다. - unique : 다른 행의 데이터와 중복되지 않는다. - check : 연산을 통해 입력되는 데이터를 검사 할 때 사용. 예시) create table product( prdt_no number(5, 0) , prdt_name varchar2(90) not null unique , prdt_price number(7,0) check(prdt_price >= 0) , prdt_stock number(7,0) check(..
table table 만들기의 예시) 게시판의 글을 만들자. 1. 개념 모델링을 거친 결과 생성된 논리 모델. create table 자유게시판 ( 글번호 글제목 작성자 작성일 내용 ); 2. 물리모델링 char는 (90) 일때 공간 90을 다 활용 varchar2는 (90) 일때 입력된 공간만 활용 no number(총 길이 수, 소숫점길이수) 5 create table freeboard ( no number( 5) ,title varchar2(90) --not null ,writer varchar2(90) ,wdate date ,wcnts varchar2(3000) ); desc [테이블 이름]; - 테이블의 구조를 보여주는 명령어. 예시) desc emp; alter table : 테이블을 수정하는 명령어 -..
group by, having group by : 그룹을 만들어서, 그룹 안에서 계산한다. - group by 뒤에 오는 속성을 기준으로 그룹을 만든다. - group by 뒤에 오는 속성은 ,(comma)를 사용하여 여러 개가 올 수 있다. 주의* group by는 group 함수와 함께 사용!! - group 함수 : max, min, sum, avg, count 주의* group by 위치는 order by의 앞 order by는 맨 뒤로 온다. --조회된 결과를 정렬하기 때문에 주의* group by의 select절에는 group 함수와 group by 뒤에 오는 속성만 온다. -- 단일행 함수 : 수행 결과가 단일행 -- 그룹 함수 : 수행 결과가 다중행의 결과 예시) select max(sal) from emp; -- 그룹..
nvl, nvl2, decode, case ~ when ~ then nvl(column, 대체값) - column이 null이면 대체값 적용 - column이 null이 아니면, column의 원래 값이 나옵니다. nvl2 (column, 대체값1, 대체값2) - 대체값이 같은 데이터 타입이여야한다. 앞의 대체값의 데이터타입을 따른다. (자동 형변환 됨) - column이 null이면 대체값2 적용 - column이 null이 아니면, 대체값 1 적용 주의* 대체값은 column의 datat type과 같아야한다. 예시) select ename, job, sal, comm from emp; select ename, job, sal, nvl(comm, 0) from emp; --select ename, job, sal, nvl(comm, sysdate) from emp; ..
to_date, months_between, add_months, next_day, last_day, 날짜 반올림과 자르기 to_date : 문자를 날짜로 변경 예시) select to_date('20220512') from dual; months_between : 두 날짜 간의 기간을 월로 계산 예시) select sysdate, to_date('20220927'), months_between(to_date('20220927'), sysdate) from dual; --4.47 --4.5달 add_months : 기준 날짜에 개월 수를 추가한 날짜를 계산 next_day : 돌아오는 다음 요일 예시) 일1 월2 화3 수4 목5 금6 토7 select sysdate, ' 다음 일요일', next_day(sysdate, 1) from dual; select sysdate, ' 다음 월요일', next_day(sysdate, 2..
to_char, data type to_char() : 날짜 또는 숫자를 문자 format으로 변경 예시) select to_char(sysdate, 'YYMMDD') from dual; select to_char(sysdate, 'YYYY-MON-DAY') from dual; select to_char(sysdate, 'YYYY-MM-DD MON DAY AM HH:MI:SS') from dual; select to_char(sysdate, 'YYYY-MM-DD-MON DAY AM HH24:MI:SS') from dual; select to_char(sysdate, 'YYYY-MM-DD-MON DY AM HH24:MI:SS') from dual; select to_char(sysdate, 'YYYY-MM-DD-MON D AM HH24:M..
upper, lower, initcap, length, substr, instr, lpad(rpad) upper : 문자열을 모두 대문자로 lower : 문자열을 모두 소문자로 initcap : 문자열의 첫 문자만 대문자로 예시) select upper ('nice to meet you') from dual; --upper 결과 : NICE TO MEET YOU select lower ('NICE TO MEET YOU') from dual; --lower 결과 : nice to meet you select initcap ('nice to meet you') from dual; --initcap 결과 : Nice To Meet You length : 문자열의 길이를 문자 길이로 출력 lengthb : 문자열의 길이를 byte 단위로 출력 * 오라클의 알파벳 기본 설정은 1byte이고 비알파벳은 3byte이..