DBA

데이터베이스

DATABASE STEP 19 - SubQuery

★ MainQuery 여태까지의 SQL 일반적인 SQL 하나의 문장안에 하나의 select(insert, update, delete)로 구성된 쿼리 ★ Sub Query, 서브 쿼리, 부속 질의 하나의 문장(select, insert, update, delete)안에 또 다른 문장(select)이 들어있는 쿼리 하나의 select문 안에 들어있는 또 다른 select 문 삽입 위치 > 거의 대다수의 절(select 절, from 절, where 절 group by 절, having 절, order by 절) ■ 사용 ex) ex1) -- tblCountry. 인구수가 가장 많은 나라의 이름? select * from tblCountry; update tblCountr..

데이터베이스

DATABASE STEP 18 - Having 절

★ Having 절 조건절 group by로 부터 나온 셋에 대한 조건 집합에 대한 질문 > 집계 함수값을 조건으로 사용 조합 [WITH ] - WITH 절 SELECT column_list - SELECT 절 FROM table_name - FROM 절 [WHERE search_condition] - WHERE 절 [GROUP BY group_by_expression] - GROUP BY 절 [HAVING search_condition] - HAVING 절 [ORDER BY order_expresstion [ASC|DESC]]; - ORDER BY 절 select 컬럼리스트 -- 5. 컬럼을 선택 from 테이블 -- 1. 테이블로부터 where 조건 -- 2. 원하는 레코드를 group by 기준 -..

데이터베이스

DATABASE STEP 17 - Group By

★ Group By 레코드를 대상으로 그룹을 나누는 역할 특정 컬럼을 대상으로 같은 값을 가지는 레코드들끼리 그룹을 묶는 역할 그룹을 왜 나누는지? > 각각의 나눠진 그룹을 대상 > 집계 함수를 적용하기 위해서 실행 순서 및 구조 select 컬럼리스트 -- 4. 컬럼을 선택 from 테이블 -- 1. 테이블로부터 where 조건 -- 2. 원하는 레코드를 group by 기준 -- 3. 그룹을 나눠서 order by 정렬조건 -- 5. 정렬한다 ■ 사용 ex) tblIsan 테이블의 부서별 평균 급여 select * from tblInsa; select avg(basicpay) from tblInsa; -- 155만원, 60명 select distinct buseo from tblInsa; -- 7개 ..

데이터베이스

DATABASE STEP 15 - Insert

★ Insert DML 테이블에 데이터를 추가하는 명령어(행 추가) 구문 insert into 테이블(컬럼리스트) values (값리스트); ■ 1. 표준 적인 방법(권장) 원본 테이블에 정의된 컬럼 순서와 개수대로 컬럼리스트를 만들고(a) 값 리스트를 구성하는 방법(b) 사용 ex) insert into tblMemo (seq, name, memo, regdate) -- a values (seqMemo.nextVal, '홍길동', '메모입니다.', sysdate); --b ■ 2. 컬럼 리스트의 순서는 원본 테이블과 상관 없다. 컬럼 리스트의 순서와 값 리스트의 순서는 반드시 일치해야 한다!! insert into tblMemo (name, memo, regdate, seq) values ('홍길동',..

데이터베이스

DATABASE STEP 13 - DDL

★ DDL Data Definition Language 데이터 정의어 테이블, 뷰, 사용자, 인덱스, 트리거 등의 데이터베이스 오브젝트를 생성/수정/삭제하는 명령어 a. create : 생성 b. drop : 삭제 c. alter : 수정 테이블 조작하기 create table 테이블명 ( 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼 정의, 컬럼명 자료형(길이) Null 제약사항 ); 제약사항, Constraint 해당 컬럼에 들어갈 데이터(값)에 대한 조건 조건을 만족하면 > 대입 조건을 불만족하면 > 에러발생 유효성 검사 도구 데이터베이스 > 데이터 관리 > 데이터 무결성(***)을 보장하는 도구 종류 1. NOT NULL - 해당 컬럼이 반드시 값을 가져야한다. - 해당 컬럼..

데이터베이스

DATABASE STEP 12 - Casting_Function

★ 형변환 함수 1. to_char(숫자) : 숫자 > 문자 2. to_char(날짜) : 날짜 > 문자 ***** 3. to_number(문자) : 문자 > 숫자 4. to_date(문자) : 문자 > 날짜 ******** ■ 1. to_char(숫자, 형식문자열) 형식문자열 구성요소 a. 9 : 숫자 1개를 문자 1개로 바꾸는 역할. ex) '@' || to_char(weight, '99999') || '@', 5자리를 확보하는데 부족한 자리는 스페이스로 채움 > 빈자리를 스페이스로 치환 >%5d b. 0 : 숫자 1개를 문자 1개로 바꾸는 역할. ex) '@' || to_char(weight, '00000') || '@' 5자리를 확보하는데 부족한 자리는 0으로 채움 > 빈자리를 0으로 치환 > %..

데이터베이스

DATABASE STEP 11 - Date_Time_Function

★ Date_Time_Function (날짜 시간 함수) sysdate 현재 시스템의 시각을 반환 자바로 따지면, Calendar.getInstance() data sysdate months_between() : 시각 - 시각 = 시간(월) add_months() : 현재 일 수 에서 한달을 더하는 것 날짜 연산 1. 시각 - 시각 = 시간(일) 2. 시각 + 시간 = 시각 3. 시각 - 시간 = 시각 ★ 사용 예 1. 시각 - 시각 = 시간(일) select name, ibsadate, round(sysdate - ibsadate) as "근무일수", round((sysdate-ibsadate) / 365) as "근무년수", -- 사용 금지 round((sysdate-ibsadate) * 24) as..

데이터베이스

DATABASE STEP 10 - String_Function

★ 문자열 함수(String_Function) 1. upper(), lower(), initcap() 2. substr() 3. length() 4. instr() 5.lpad(), rpad() 6. trim(), ltrim(), rtrim() 7. replace() 8. decode() ■ 1. upper(), lower, initcap() upper() : 대문자로 바꿔주는 함수 lower() : 소문자로 바꿔주는 함수 initcap() : 첫 문자만 대문자 나머지는 소문자로 바꿔주는 함수 사용 ex) select first_name, upper(first_name), lower(first_name) from employees; select 'abc', initcap('abc'), initcap('a..

IT의 큰손
'DBA' 태그의 글 목록 (3 Page)