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