일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- codility
- 타입 객체
- 백준
- DirectX 12
- 스케줄링
- 자료구조
- I/O장치
- 그리디 알고리즘
- 프로그래머스
- 동적계획법
- 락
- 운영체제
- 파일시스템 구현
- 쓰레드
- OS
- DirectX12
- 멀티쓰레드
- 렌더링 파이프라인
- directx
- 멀티프로세서
- 영속성
- 병행성 관련 오류
- 다이나믹 프로그래밍
- 컨디션 변수
- 그리디알고리즘
- 디자인패턴
- 알고리즘
- 다이나믹프로그래밍
- Direct12
- 병행성
- Today
- Total
목록DataBase/Oracle (15)
기록공간

JOIN은 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법으로 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여주는 것이다. JOIN의 사용 형식은 SQL 1992 CODE와 SQL 1999 CODE로 나눌 수 있다. JOIN의 예를 쉽게 설명하기 위해 직원(EMP)라는 테이블을 정의하였으며 데이터의 내용은 다음과 같다. SQL 1992 CODE CROSS JOIN CROSS JOIN은 수학에서 말하는 데카르트 곱(Cartersian Product)을 두 테이블에 수행하는 것을 뜻한다. 두 테이블을 결합하였을때 모든 경우의 수를 보여준다. SELECT * FROM EMP, DEPT; 결과는 다음과 같다. EQUI JOIN EQUI JOIN은 서로 정확히 일치하는 것들끼리 연결하여..

게시판을 만든다고 했을때, 게시판을 구분하기위해 ID를 정한다고 가정하자. 이 ID는 1부터 게시물이 생성될때 부여하며 1씩 증가한다. SQL에서 이러한 기능을 제공하는 쿼리문은 대표적으로 SEQUENCE가 있다. SEQUENCE 시퀀스는 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 기능 중 하나이다. 보통 Primary Key (PK, 기본키) 값에 중복값을 방지하기 위해 사용한다. 예를들어 게시판을 추가할 때 가장 큰 id 값에 +1을 해주는 로직을 짤 필요없이 시퀀스를 사용하면 자동으로 +1을 해주기 때문에 매우 편리하다. 시퀀스를 사용하기 위해서는 시퀀스를 생성해주어야 한다. 다음과 같은 형식으로 만든다. CREATE SEQUENCE [시퀀스 명] START WITH [시작숫자] --..
서브쿼리는 특정 테이블을 사용자의 설정에 맞게 재정의 할 수 있도록 해주는 기능이다. 쿼리문 안에 소괄호를 이용해 또 다른 쿼리문을 작성함으로써 그 쿼리문에 해당하는 정보를 이미 만들어 놓은 테이블처럼 사용할 수 있다. 예를들어 다음과 같이 EMP 테이블에서 각 직원의 연봉을 구하는 쿼리문을 작성해야 한다고 가정해보자. 하지만 테이블에는 급여(SAL) 정보밖에 존재하지 않는다. 그러면 쿼리문은 다음과 같을 것이다. SELECT ENAME "사원이름", DEPT "부서" , (SAL * 12 + BONUS) "연봉" FROM EMP; 정말 간단해 보인다. 하지만 WHERE 절을 추가하면 어떨까? 연봉이 1000만에서 2000만 사이인 사람을 구한다고 해보자. 쿼리문은 다음과 같다. SELECT ENAME ..

중첩 함수 오라클에서는 그룹함수를 2번까지 중첩해서 사용할 수 있다. (MSSQL은 이마저도 불가능) 다음과 같은 정보를 담고 있는 EMP 테이블이 있다고 가정하자. 그리고 EMP 테이블에서 모든 직원들의 급여를 부서별로(DEPTNO) 합계를 내려고 한다면, 쿼리문은 다음과 같다. SELECT SUM(SAL) FROM EMP GROUP BY DEPTNO; 그렇다면 이 부서별 급여 합계 중 가장 큰 값을 구하고 싶을때에는 어떻게 해야 할까? 최대값을 구하기 위해서는 함수 MAX() 를 사용해야 할 것이다. 그렇기 때문에 불가피하게 SUM() 함수와 함께 중첩하여 사용해야 한다. SELECT MAX(SUM(SAL)) FROM EMP GROUP BY DEPTNO; RANK(), DENSE_RANK() 의 다른..

SELECT문은 테이블이나 뷰 내에 있는 데이터를 검색하기 위해서 사용하는 쿼리문이다. 기본적으로는 다음과 같이 사용한다. SELECT [찾을 속성 이름] FROM [테이블 이름] 예를들어 다음과 같은 테이블을 생성하고 데이터를 추가했다고 해보자. CREATE TABLE EMP ( EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY , ENAME VARCHAR2(10) , JOB VARCHAR2(9) , MGR NUMBER(4) , HIREDATE DATE , SAL NUMBER(7,2) , COMM NUMBER(7,2) , DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT ); --==>> Table EMP이(가) 생성되었습니..

INSERT INSERT는 테이블이나 뷰에 데이터를 집어넣을때 사용하는 쿼리문이다. 보통 다음과 같은 방법으로 사용한다. INSERT INTO [데이터를 넣을 테이블이나 뷰 이름] [넣을 데이터(들)]; 예를들어 다음과 같은 테이블을 만들었다고 가정해보자. CREATE TABLE DEPT ( DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY , DNAME VARCHAR2(14) , LOC VARCHAR2(13) ); --==>> Table DEPT이(가) 생성되었습니다. 이런 경우 데이터를 넣기 위해서 다음과 같이 쿼리문을 작성하면 된다. --> 부서 번호가 10인 뉴욕에 위치한 ACCOUNTING 부서 데이터 DEPT 테이블에 추가 INSERT INTO DEPT VA..
CREATE CREATE 는 SQL에서 무언가를 만들때 쓰이는 쿼리문이다. 여기서 무언가는 테이블 스페이스, 테이블, 뷰, 등 종류가 아주 다양하다. 보통 다음과 같은 형식으로 사용한다. CREATE [생성할 형식] [생성할 것의 이름] [추가로 생성시 필요한 쿼리문(형식에 따라 차이가 있음)] CREATE 쿼리문을 사용한 예를 들면 다음과 같다. 1. 유저 생성 CREATE USER SCOTT INDENTIFIED BY tiger; --==>> User SCOTT이(가) 생성되었습니다. 2. 테이블 스페이스 생성 CREATE TABLESPACE TBS_EDUA DATAFILE 'C:\TESTDATA\TBS_EDUA01.DBF' SIZE 4M EXTENT MANAGEMENT LOCAL SEGMENT SP..