일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- 이진수 변환
- 프로그래머스 풀이
- 문자열
- Lv1
- SWEA
- 프로그래머스 자바
- StringTokenizer
- Stack
- 백준
- 삼각형의 완성조건
- 스프링부트 도커로 배포
- 스프링부트 도커
- 프로그래머스 문자열 정렬
- 자바
- 오름차순 정렬
- 알고리즘
- COS Pro
- 백준 N과 M 자바
- 스택
- 프로그래머스
- index of
- 클라이언트
- lv0
- Programmers
- Queue
- 버퍼
- 스프링부트 도커 배포
- 큐
- lv2
- Today
- Total
목록DB/Oracle (25)
mun dev
with절이란 오라클9 이후 버전부터 사용이 가능하며 이름이 부여된 서브쿼리, 임시테이블을 만든다는 관점에서 보면 VIEW와 쓰임새가 비슷한데 차이점이 있다면 VIEW는 한 번 만들어 놓으면 DROP할 때까지 없어지지 않고, with절의 경우 한 번 실행할 쿼리문내에 정의되어 있을 경우, 그 쿼리문 안에서만 실행된다는 차이점이 있다. 사용이유 반복적으로 SQL문을 사용하는 경우 그 블록에 이름을 부여하여 재사용할 수 있게 함으로서 쿼리 성능을 높일 수 있는데, with절을 이용해 미리 이름을 부여해서 쿼리 블록을 만들 수 있음. with절 사용안한 예 select job, sum(sal) as 토탈 from emp group by job having sum(sal) > (select avg(sum(sal..
CHECK 특정 컬럼에 지정된 데이터만 입력될 수 있도록 제한 입력할 수 있는 값의 범위를 설정해 주는 제약조건 입력 값이 조건에 맞지 않으면 오류 발생, 입력 값의 범위를 지정할 수 있음 create table emp6 (empno number(10), ename varchar(20), sal number(10) constraint emp6_sal_ck check (sal between 0 and 6000)); 조건 위배시 오류 발생 update emp6 set sal = 9000 where ename = 'CLARK'; -- 9000으로 데이터를 넣으려고 해도 넣어지지 않음 insert into emp6 values(7566, 'ADMS', 9000); insert into emp6 values(75..
UNIQUE 중복된 데이터가 입력되지 않게 하는 방법 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 고유키를 정의 not null과 함께 사용 가능 기본키로 설정하지 않지만 그 값의 고유성을 지켜주고 싶을 때 사용 unique로 선언된 컬럼은 foregin key 참조가 가능 [컬럼명][타입] UNIQUE [컬럼명][타입] CONSTRAINT [제약조건명] UNIQUE ([컬럼명]) CONSTRAINT[제약조건 명] UNIQUE ([컬럼명]) create table dept3 (deptno number(10), dname varchar(14) constraint dept3_deptno_dname_un unique, loc varchar(10)); 제약을 생성할 때 걸지 못했다면 alter add를 ..
기본키(Primary Key) 데이터의 품질을 높이기 위해 특정 컬럼에 중복된 데이터와 null값을 입력하지 못하게 하는 방법 테이블을 생성할 때 같이 정의 테이블당 하나만 정의 가능 -- 컬럼 생성과 primary key제약 추가 -- null은 입력할 수 없음 create table dept2 (deptno number(10) constraint dept2_deptno_pk primary key, dname varchar(14), loc varchar(14)); 생성된 제약을 확인 select a.constraint_name, a.constraint_type, b.column_name from user_constraints a, user_cons_columns b where a.table_name =..
뷰(View) 사원들의 사원번호, 이름, 월급, 직업, 부서번호를 출력 공개하면 안되는 컬럼이 있다면 나머지 컬럼들로만 view를 생성 create view emp_view as select empno, ename, sal, job, deptno from emp where job = 'SALESMAN'; 복합 뷰(Complex View) 뷰 생성시 함수나 그룹함수를 작성할 대는 반드시 컬럼 별칭 사용 함수나 그룹함수가 포함되어 있다면 복합뷰 create view emp_view2 as select deptno, round(avg(sal)) 평균월급 from emp group by deptno; 30번 부서번호의 평균 월급을 1567에서 3000으로 변경 변경이 되지 않음, 변경이 된다고 해도 실제 테이블..
시퀀스(SEQUENCE) 중복되지 않는 숫자 데이터를 생성 시퀀스는 일련 번호 생성기, 번호를 순서대로 생성하는 데이터베이스 오브젝트 DB에서 테이블의 기본키가 숫자형 데이터일 경우, 이 테이블에 기본키인 컬럼에 시퀀스를 설정해 놓을 경우 테이블에 데이터를 삽입할 때마다, 자동으로 각 로우를 식별할 수 있는 시퀀스 값이 할당 되어 저장 시퀀스(SEQUENCE) 생성 숫자 1번부터 100번까지 출력하는 시퀀스 create sequence seq01 start with 1 -- 첫 시작 숫자를 1로 지정 increment by 1 -- 숫자의 증가치 1 maxvalue 100 -- 최대 숫자 100 nocycle; 시퀀스(SEQUENCE) 사용 시퀀스의 다음 번호를 출력 또는 확인할 때는 시퀀스이름.next..
SYSDATE 현재 일자와 시간을 반환 SELECT SYSDATE FROM DUAL; --> 2024-01-17 -- (날짜와 시간 정보를 모두 포함하고 있음 -- 시간까지 보려면 TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI: SS')로 -- 변환 필요) ADD_MONTH(date, n) date날짜에 n개월을 더한 날짜를 반환 n이 음수이면 더하지 않고 뺀 날짜를 반환 SELECT ADD_MONTH(SYSDATE, 1) FROM DUAL; --> 2024-02-17 MONTHS_BETWEEN(date1, date2) date1과 date2 두 날짜 사이의 개월 수를 반환, date1이 date2 두 날짜 사이의 개월 수를 반환, date1이 date2보다 이후 날짜면..
ASCII(char) char문자의 ASCII 코드 값을 반환, CHR함수와 반대 기능 SELECT ASCII('A') FROM DUAL --> 65 INSTR(char1, char2, n1, n2) char1에서 char2문자를 찾아 그 시작 위치를 반환함 n1은 char1에서 몇 번째 문자부터 찾을 것인지를 나타내는 위치이며 생략시 1이 적용됨 n2는 char1에서 char2문자를 찾을 때 일치하는 문자의 몇번째 위치를 반환할지를 나타냄. 생략 시 1이 적용됨 SELECT INSTR('ABABAB', 'A', 2) FROM DUAL; --> 3 LENGTH(char) char문자의 글자 수를 반환함 SELECT LENGTH('the') FROM..