본문 바로가기

DB

(15)
Oracle DB #7 테이블 구조 생성 , 변경, 삭제 하는 DDL 1.테이블 구조 생성 , 변경, 삭제 하는 DDL 1) 테이블 구조를 정의하는 CREATE TABLE CREATE TABLE table_name (column_name, data_type expr, …); 2) 데이터 형 a. CHAR(size) :고정 길이 문자 데이터. VARCHAR2와 동일한 형태의 자료를 저장할 수 있고, 입력된 자료의 길이와는 상관없이 정해진 길이만큼 저장 영역 차지. 최소 크기는 1 b. VARCHAR2(size) :Up to 2000 Bytes 가변 길이 문자 데이터. 실제 입력된 문자열의 길이만큼 저장 영역을 차지. 최대 크기는 명시해야 하며, 최소 크기는 1 c. NUMBER :Internal Number Format 최고 40자리까지의 숫자를 저장할 수 있습니다. 이때 ..
Oracle DB #6 조인 , 서브 쿼리 1.조인 1) 조인의 필요성 - 원하는 정보가 두 개 이상의 테이블에 나누어져 있을 때 여러 번의 질의를 하는 번거로움을 줄이고자 두 개 이상의 테이블을 결합해야만 원하는 결과를 얻을 수 있을 때 한 번의 질의로 원하는 결과를 얻을 수 있는 조인기능을 제공 2) Cross Join - Cross Join으로 특별한 키워드 없이 SELECT 문의 FROM 절에 사원(EMP) 테이블과 부서(DEPT) 테이블을 콤마로 연결하여 연속하여 기술하는 것 SELECT * FROM EMP, DEPT; - Cross Join의 결과 얻어지는 컬럼의 수는 사원 테이블의 컬럼의 수(8)와 부서 테이블의 컬럼의 수를 더한 것이므로 11이 됨. 로우 수는 사원 한명에 대해서 DEPT 테이블의 4개의 로우와 결합되기에 56개(1..
Oracle DB #5 SQL 주요 함수, 그룹 함수 1. SQL 주요 함수 1) 선택을 위한 DECODE 함수 - DECODE 함수는 프로그램 언어에서 가장 많이 사용되는 switch case 문과 같은 기능을 갖음 - 여러 가지 경우에 대해서 선택할 수 있도록 함 DECODE (표현식, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3, 기본결과n) 부서번호에 해당되는 부서명을 구하는 예제를 이번에는 CASE 함수를 사용하여 작성해보자 SELECT ENAME, DEPTNO, DECODE(DEPTNO, 10, 'ACCOUNTING', 20, 'RESEARCH', 30, 'SALES', 40, 'OPERATIONS' ) AS DNAME FROM EMP; 2) 조건에 따라 서로 다른 처리가 가능한 CASE 함수 - CASE 함수 역시 여러 가지 경우에 대해..
Oracle DB #4 SQL 주요 함수 1. SQL 주요 함수 1) 대문자로 변환하는 UPPER 함수 - UPPER 함수는 입력한 문자값을 대문자로 변환하는 함수 SELECT 'Welcome to Oracle', UPPER('Welcome to Oracle') FROM DUAL; 2) 소문자로 변환하는 LOWER 함수 - LOWER 함수는 문자열을 모두 소문자로 변경 SELECT 'Welcome to Oracle', LOWER('Welcome to Oracle') FROM DUAL; 3) 이니셜만 대문자로 변환하는 INITCAP 함수 - INITCAP 함수는 문자열의 이니셜만 대문자로 변경 SELECT 'WELCOME TO ORACLE', INITCAP('WELCOME TO ORACLE') FROM DUAL; 4) 문자 길이를 구하는 LENG..
Oracle DB #3 SELECT로 특정 데이터 추출(IN 연산자, LIKE 연산자 , IS NULL , ORDER BY) , SQL 주요 함수 1. SELECT로 특정 데이터 추출 1) IN - 동일한 필드가 여러 개의 값 중에 하나인 경우인지를 살펴보기 위해서 비교 안산자와 논리 연산자 OR를 사용하여 복잡하게 쿼리문을 작성하지 않고 IN 연산자를 사용하여 훨씬 간단하게 표현 column_name IN(A,B,C) - 특정 필드의 값이 A이거나 B이거나 C 중에 어느 하나만 만족하더라도 출력하도록 하는 표현을 IN 연산자를 사용 가능 - 이번에는 커미션이 300 이거나 500 이거나 1400 인 사원을 검색하기 위해서 IN 연산자를 사용해보자. SELECT * FROM EMP WHERE COMM IN (300,500,1400); 2) LIKE 연산자와 와일드카드 - LIKE 연산자는 검색하고자 하는 값을 정확히 모를 경우에도 검색 가능하도록 ..
Oracle DB #2 SQL *Plus 명령어, 특정 데이터 추출하기 (WHERE 조건, 논리 연산자, BETWEEN AND 연산자) 1. SQL *Plus 1) SQL *Plus 명령어의 개념 - SQL *Plus는 SQL문을 실행시키고 그 결과를 볼 수 있도록 오라클에서 제공하는 툴 - SQL *Plus 명령어는 툴에서 출력 형식을 지정하는 등 환경을 설정하는 것이고 SQL은 데이터베이스에서 자료를 검색하고 수정, 삭제하는 등 데이터베이스 언어임. 2) SQL *Plus 편집 명령어 a. ED - 파일의 내용을 메모장에서 쉽게 편집할 수 있도록 ED[IT] 명령어를 제공합니다. - 주의할 점은 SQL 버퍼를 편집기로 열었을 때 명령문 끝에 붙였던 ; 가 편집화면에서는 /로 보임 EDIT filename b. SAVE - 사용자가 가장 최근에 수행한 쿼리문을 파일로 저장할 수 있도록 제공하는 명령어 - SAVE 명령어는 옵션으로 RE..
Oracle DB #1 데이터형, SELECT문 ,DESC, 특정 데이터만 보기, 산술 연산자 1. SQL의 기본 1) 데이터 딕셔너리 TAB - 오라클을 설치하면 제공되는 사용자 SCOTT은 학습을 위해서 테이블들이 제공된다. SCOTT이 소유하고 있는 테이블을 살펴보기 위해서 다음과 같은 명령어를 입력해보자. SELECT * FROM TAB; TAB은 TABLE의 약자로서 SCOTT 사용자가 소유하고 있는 테이블의 정보를 알려주는 데이터 딕셔너리이다. 2) 테이블 구조를 살펴보기 위한 DESC - 오라클을 설치하면 학습용으로 제공되는 DEPT 테이블은 부서의 정보를 저장하고 있으며, 이에 대한 구조를 살펴보기 위해서는 desc 명령어를 사용해야 합니다. DESC DEPT - DESC 명령어는 테이블의 칼럼 이름, 데이터 형, 길이와 널 허용 유무 등과 같은 특정 테이블의 정보를 보여준다. 3)..