DB/SQL
-
INDEXDB/SQL 2024. 7. 29. 19:59
/*INDEX-- SQL SELECT 처리 속도를 향상 시키기 위해 컬럼에 대해 생성하는 객체자동 정렬 및 검색 속도 증가조회 시 테이블의 전체 내용을 확인하며 조회하는 것이 아니라 인덱스가 지정된 컬럼만 이용해서 조회하기 때문에 시스템 부하가 낮아짐주의할 점데이터 변경(INSERT, UPDATE, DELETE) 작업시시스템 과부하가 늘어 성능이 낮아짐인덱스도 하나의 객체이다보니 별도 저장공간이 필요하기 때문에 메모리 소비인덱스 생성시간 필요[작성법]- 생성하기CREATE [UNIQUE] INDEX 인덱스명ON 테이블명 (컬럼명[,컬럼명 | 함수명]);- 삭제하기DROP INDEX 인덱스명;인덱스가 자동으로 생성되는 경우PRIMARY KEY 또는 UNIQUE 제약 조건이 설정된 컬럼에 대해UNIQUE I..
-
문자대소문자구분,결합DB/SQL 2024. 7. 24. 21:32
/*LOWER / UPPER INITCAP컬럼의 문자 혹은 문자열을 소문자 대문자 첫글자만 대문자로 변환해서 반환*/-- 사용법 LOWER : 모두 소문자로 변환해서 적용SELECT LOWER('wELCOME tO mY wORLD')FROM DUAL; -- welcome to my world-- 사용법 UPPER : 모두 대문자로 전환해서 적용SELECT UPPER('wELCOME tO mY wORLD')FROM DUAL; -- WELCOME TO MY WORLD-- 사용법 INITCAP : 첫 글지만 대문자로 변환해서 적용SELECT INITCAP('wELCOME tO mY wORLD')FROM DUAL; -- Welcome To My World-- 문자 처리 함수 CONCAT/*CONCAT : 컬럼의..
-
ROWNUMDB/SQL 2024. 7. 23. 20:44
/*ROWNUM쿼리의 결과 집합에서 각 행에 순차적으로 1 부터 시작하는 번호를 부여결과 집합의 크기를 제한*/-- 예제 1 : 상위 5 개의 행만 선택하는 예제SELECT ROWNUM,EMP_ID, EMP_NAME, SALARYFROM EMPLOYEEWHERE ROWNUM 5; -- 나오지 않음-- ROWNUM 은 무조건 1 부터 시작하기 때문에 5 이후는 처음부터 나올 수 없는 조건-- 랭킹-- ROWNUM 을 이용해서 월급이 가장 높은 3 명을 뽑으려 했지만 되지 않음SELECT ROWNUM, EMP_NAME, SALARYFROM EMPLOYEEWHERE ROWNUM
-
VIEWDB/SQL 2024. 7. 17. 21:05
/*VIEW - 논리적 가상 테이블-> 테이블 모양을 하고 있지만 ,실제로 값을 저장하고 있진 않음SELECT 문의 실행된 결과(RESULT SET)를 저장하는 객체VIEW 사용 목적복잡한 SELECT 문을 쉽게 재사용하기 위해테이블의 진짜 모습을 감출 수 있어 보안상 유리VIEW 사용시 주의사항가상 테이블(실체 없음) 이기 때문에 ALTER 구문 사용 불가VIEW 를 이용한 DML(INSERT, UPDATE, DELETE)이 사용 가능한 경우도 있지만제약이 많이 따르기 때문에 조회(SELECT) 용도로 많이 사용VIEW 작성법CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW 뷰이름 [컬럼 별칭]AS 서브쿼리 (SELECT 문)[WITH CHECK OPTION][WITH REA..
-
DCLDB/SQL 2024. 7. 15. 22:21
/* 계정(사용자) * 관리자 계정 : 데이터베이스의 생성과 관리를 담당하는 계정 모든 권한과 책임을 가지는 계정 sys(최고관리자), system(sys 에서 권한 몇 개 제외된 관리자) * 사용자 계정 : 데이터베이스에 대해 질의, 갱신, 보고서 작서 등의 작업을 수행할 수 있는 계정으로 업무에 필요한 최소한의 권한만을 가지는 것을 원칙으로 함 Ex) kh_t, kh_workbook 등*//*DCL(Date Control Language) :계정 DB, DB 객체에 대한 접근 권한을 부여하고 회수하는 언어- ..
-
SEQUENCEDB/SQL 2024. 7. 11. 23:31
/* SEQUENCE (순서, 연속) - 순차적으로 일정한 간격의 숫자(번호)를 발생시키는 객체 (자동번호생성기) PK 가 지정된 컬럼에 삽입될 값을 생성할 때 SEQUENCE 를 이용하면 좋음 Ex) 1번째 회원,2번째 회원,3번째 회원, ..., N번째 회원[작성법]CREATE SEQUENCE 시퀀스이름[START WITH 숫자] -- 처음 발생시킬 시작값 지정, 생략하면 자동으로 1 이 기본값으로 설정[INCREAMENT BY 숫자] -- 다음 값에 대한 증가값을 설정, 생략하면 자동으로 1 씩 증가로 설정[MAXVALUE 숫자 | NOMAXVALUE] -- 발생시킬 최대값 지정 Ex) 최대 1000 명만 기록하겠다.[MINVALUE 숫자 | NOMINVALUE] -- 발생시킬 최소값 지정..
-
DDL(ALTER_DROP)DB/SQL 2024. 7. 10. 20:26
-- DDL(DATA DEFINITION LANGUAGE)-- 데이터 정의 언어로 객체를 만들고(CREATE) 수정하고(ALTER) 삭제(DROP) 구문-- ALTER(바꾸다, 수정하다)-- 수정가능한 것 컬럼(추가/수정/삭제) 제약조건(추가/삭제) 이름변경(테이블,컬럼,제약조건)-- [작성법]-- 테이블을 수정하는 경우-- ALTER TABLE 테이블명 ADD / MODIFY / DROP 수정할 내용;-- 1. 제약조건 추가 / 삭제-- 작성하는 방법 중 [ ] : 생략 가능(선택)-- 제약조건 추가 : ALTER TABLE 테이블명-- ADD [CONSTRAINT 제약조건명] 제약조건(컬럼명) [REFERENCES 테이블명(컬럼명)]; ..
-
조건문DB/SQL 2024. 7. 9. 20:07
/*선택 함수-- 여러가지 경우에 따라 알맞은 결과를 선택하는 함수-- IF, SWITCH 와 비슷-- DECODE(컬럼명 | 계산식, 조건1, 결과1, 조건2, 결과2, ...[,아무것도 만족X])-- 컬럼명 | 계산식의 값이 일치하는 조건이 있으면-- 해당 조건 오른쪽에 작성된 결과가 반환*/-- 예제 1)---> EMPLOYEE 테이블에서 모든 사원의 이름, 주민번호, 성별 조회SELECT EMP_NAME, EMP_NO, DECODE (SUBSTR(EMP_NO,8,1), -- 주민번호 870808-여덟번째 = 성별 성별은 한 자리 '1', '남자','2','여자', '기타') AS "성별"FROM EMPLOYEE;/*EMP_NAME ..