SQL 20

SQL 문법정리 : 테이블파티션(Table Partition)

SQL 문법정리 : 테이블파티션(Table Partition) Partiiton 기능 . 파티션은 대용량의 테이블을 여러 개의 데이터 파일에 분래해서 저장한다. . 테이블의 데이터가 물리적으로 분리된 데이터 파일에 저장되면 입력, 수정, 삭제, 조회 성능이 향상된다. . 파티션은 각각의 파티션 별로 독립적으로 관리될 수 있다. 즉, 파티션 별로 백업하고 복구가 가능하면 파티션 전용 인덱스 생성도 가능하다. . 파티션은 Oracle 데이터 베이스의 논리적 관리 단위인 데이블 스페이스 간에 이동이 가능하다. . 데이터를 조회할 때 데이터의 범위를 줄여서 성능을 향상시킨다. Range Partition Range Partition은 테이블의 칼럼 중에서 값의 범위를 기준으로 여러 개의 파티션으로 데이터를 나누..

SQL 2021.03.02

SQL 문법정리 : 원도우 함수(Window Function)

SQL 문법정리 : 원도우 함수(Window Function) 원도우 함수 . 원도우 함수는 행과 열 간의 관계를 정의하기 위해서 제공되는 함수이다. . 원도우 함수를 사용해서 순위, 합계, 평균, 행 위치 등을 조작할 수 있다. SELECT WINDOW_FUNCTION(ARGUMENTS) OVER (PARTITION BY 칼럼 ORDER BY WINDOWING절) ▣ 원도우 함수 구조 구조 설명 ARGUMENTS(인수) 원도우 함수에 따라서 0~N개의 인수를 설정한다 PARTITION BY 전체 집합을 기준에 의해 소그룹으로 나눈다 ORDER BY 어떤 항목에 대해서 정렬한다 WINDOWING - 행 기준의 범위를 정한다 - ROWS는 물리적 결과의 행 수이고 RANGE는 논리적인 값에 의한 범위이다 ..

SQL 2021.03.01

SQL 문법정리 : 계층형 조회(Connect by)

SQL 문법정리 : 계층형 조회(Connect by) . 계층형 조회는 Oracle 데이터베이스에서 지원하는 것으로 계층형으로 데이터를 조회할 수 있다. . 예를 들어 부장에서 차장, 차장에서 과장, 과장에서 대리, 대리에서 사원 순으로 트리 형태의 구조를 위에서 아래로 탐색하면서 조회하는 것이다. 물론 역방향 조회도 가능하다. . Connect by는 트리(Tree) 형태의 구조로 질의를 수행하는 것으로 START WITH구는 시작조건을 의미하고 CONNECT BY PRIOR는 조인 조건이다. Root 노드로부터 하위 노드의 질의를 실행한다. . 계층형 조회에서 MAX(LEVEL)을 사용하여 최대 계층 수를 구할 수 있다. 즉, 계층형 구조에서 마지막 Leaf Node의 계층값을 구한다. . 계층형 조..

SQL 2021.02.27

SQL 문법정리 : 내장형 함수(BUILT -IN FUNCTION)

SQL 문법정리 : 내장형 함수(BUILT -IN FUNCTION) ▣ 문자열 함수 문자열 함수 설명 ASCII(문자) 문자 혹은 숫자를 ASCII코드값으로 변환한다 CHAR(ASCII 코드값) ASCII 코드값을 문자로 변환한다 SUBSTR(문자열,m,n) 문자열에서 m번째 위치부터 n개를 자른다 CONCAT(문자열1, 문자열2) - 문자열1번과 문자열2번을 결합한다 - Oracle은 '||', MS-SQL '+'를 사용할 수 있다 LOWER(문자열) 영문자를 소문자로 변환한다 UPPER(문자열) 영문자를 대문자로 변환한다 LENGTH 혹은 LEN(문자열) 공백을 포함해서 문자열의 길이를 알려준다 LTRIM(문자열, 지정문자) - 왼쪽에서 지정된 문자를 삭제한다 - 지정된 문자를 생략하면 공백을 삭제한..

SQL 2021.02.27

SQL 문법정리 : WHERE문이 사용하는 연산자, NULL 관련함수

SQL 문법정리 : WHERE문이 사용하는 연산자, NULL 관련함수 ▣ 비교연산자 비교연산자 설명 = 같은 것을 조회한다 = 크거나 같은 것을 조회한다 ▣ 부정비교연산자 비교 연산자 설명 != 같지 않은 것을 조회한다 ^= 같지 않은 것을 조회한다 같지 않은 것을 조회한다 NOT 컬럼명 = 같지 않은 것을 조회한다 NOT 컬럼명 > 크지 않은 것을 조회한다 ▣ 논리 연산자 비교 연산자 설명 AND 조건을 모두 만족해야 참(TRUE)이 된다 OR 조건 중 하나만 만족해도 참(TRUE)이 된다 NOT 참이면 거짓(FALSE)으로 바꾸고 거짓이면 참(TRUE)으로 바꾼다 ▣ SQL 연산자 비교 연산자 설명 LIKE '%비교 문자열%' 비교 문자열을 조회한다. '%'는 모든 값을 의미한다 BETWEEN A A..

SQL 2021.02.26

SQL 문법정리 : 조건연산자(DECODE,CASE, NULLIF, CAST, WITH, 재귀 쿼리)

SQL 문법정리 : 조건연산자(DECODE,CASE, NULLIF, CAST, WITH, 재귀 쿼리) DECODE DECODE문으로 IF문을 구현할 수 있다. 즉, 특정 조건이 참이면A, 거짓이면B로 응답한다. DECODE(EMPNO,1000, 'TRUE','FALSE') (#비교문으로 EMPNO=1000과 같으면 TRUE를 응답하고 같지 않으면 FALSE를 응답한다.) If(조건식1){ 결과1; } else if(조건식2){ 결과2; } else{ 결과3; } CASE CASE 표현식으로 IF/ELSE 문과 같은 로직을 구사할 수 있다. SELECT CASE WHEN 조건식1 THEN 결과1 WHEN 조건식2 THEN 결과2 ELSE 결과3 END ; SELECT SUM( CASE WHEN RENTAL..

SQL 2021.02.26

SQL 문법 정리 : UNIQUE, UNIQUE INDEX, NOT NULL 제약 조건

SQL 문법 정리 : UNIQUE, UNIQUE INDEX, NOT NULL 제약 조건 UNIQUE UNIQUE 제약 조건은 특정 컬럼의 값이 한 테이블 내에서 유일한 값임을 보장하는 것이다. CREATE TABLE PERSON( ID SERIAL PRIMAR KEY ,FIRST_NAME VARCHAR (50) ,LAST_NAME VARCHAR (50) ,EMAIL VARCHAR (50) ,UNIQUE(EMAIL) # 이메일주소는 유일한 값 ); #기존에 존재하는 이메일 주소가 있다면 동일한 주소를 INSERT시 실패한다 UNIQUE INDEX CREATE TABLE PERSON_UNIQUE_INDEX_TEST( ID SERIAL PRIMARY KEY ,FIRST_NAME VARCHAR (50) ,LAS..

SQL 2021.02.26

SQL 문법 정리 : 기본키,외래키,체크제약조건

SQL 문법 정리 : 기본키,외래키,체크제약조건 기본키 기본키는 데이블 내에서 유일한 값이어야하고 NOT NULL이어야 한다. 즉 테이블 내에서 반드시 존재해야하는 실체 무결성에 대한 제약이다. CREATE TABLE TB_PRODUCT_PK_TEST ( PRODUCT_NO INTEGER ,DESCRIPTION TEXT ,PRODUCT_COST NUMERIC ); ALTER TABLE TB_PRODUCT_PK_TEST ADD PRIMARY KEY (PRODUCT_NO); 외래키 외래키는 자식 테이블의 특정 컬림이 부모 테이블의 특정 컬럼의 값을 참조하는 것이다. 이것을 참조 무결성이라고 한다. CREATE TABLE SO_HEADERS( ID SERIAL PRIMARY KEY ,CUSTOMER_ID IN..

SQL 2021.02.25

SQL 문법 정리 : 데이블관리(CTAS,테이블구조 &이름 변경,컬럼추가,컬럼제거,컬럼 테이터 타입변경,테이블제거,임시테이블,TRUNCATE)

SQL 문법 정리 : 데이블관리(CTAS,테이블 구조 변경,이름 변경,컬럼추가,컬럼제거,컬럼 테이터 타입변경,테이블제거,임시테이블,TRUNCATE) CTAS CTAS는 CREATE TABLE AS SELECT의 약어로써 SELECT문을 기반으로 CREATE TABLE을 할 수 있는 CREATE문이다. CREATE TABLE NEW_TABLE AS SELECT문 CREATE TABLE NEW_TABLE(NEW_COLUMN_1, NEW_COLUMN2) AS SELECT문 CREATE TABLE IF NOT EXISTS NEW_TABLE AS SELECT문 #기존에 테이블이 존재하지 않는 경우만 생성한다. 테이블 구조 변경 한번 만들어진 테이블이라고 하더라도 테이블 구조를 변경 할 수 있다. 이 기능으로 인해..

SQL 2021.02.24

SQL 문법정리 : 테이블생성

SQL 문법정리 : 테이블생성 테이블 생성 시 컬럼의 제약 조건 . NOT NULL 해당 제약 조건이 있는 컬럼은 NULL이 저장될수 없다. . UNIQUE 해당 제약 조건이 있는 컬럼의 값은 테이블 내에서 유일해야 한다. . PRIMARY KEY 해당 제약 조건이 있는 컬럼의 값은 테이블내에서 유일해야 하고 반드시 NOT NULL이어야 한다. . CHECK 해당 제약 조건이 있는 컬럼은 지정하는 조건에 맞는 값이 들어가야 한다. .REFERENCES 해당 제약 조건이 있는 컬럼의 값은 참조하는 테이블의 특정 컬럼에 값이 존재해야 한다. CREATE TABLE ACCOUNT ( USER_ID SERIAL PRIMARY KEY ,USERNAME VARCHAR (50) UNIQUE NOT NULL ,PASS..

SQL 2021.02.22