목록분류 전체보기 (79)
개발 일기
안녕하세요!! 오늘은 SQL의 DDL(데이터 정의어)와 연결되는 Constraint(제약조건)에 대해 정리해보겠습니다! 제약조건(Constraint)란?? - Oracle 서버는 제약조건을 이용하여 적절치 않은 데이터가 저장되는 것을 방지 제약조건 특징 - 테이블에 데이터가 저장, 갱신, 삭제 될 때마다 지정된 제약조건을 반드시 만족해야 하므로 데이터 무결성 강화 - 다른 테이블이 참조되고 있는 테이블이 삭제되는 것을 방지 제약조건 사용 지침 - 적절한 이름을 지정하여 제약조건을 사용한다, 지정하지 않으면 자동으로 SYS_Cn 형식으로 임의 저장 관리 어려움 - 테이블 생성과 동시에 지정할 수 있고, 테이블 생성 후 추가 할 수도 있다. - 제약 조건은 테이블 수준 및 컬럼 수준, 2가지 방법으로 지정 ..
안녕하세요!! 오늘은 SQL의 DDL(=데이터 정의어)에 대해서 정리해보겠습니다. DDL이란?? - 테이블을 생성, 변경, 삭제하는 명령어로 데이터 정의어(DDL)라고 함 DDL 활용 1. CREATE - 테이블 생성 - EX) CREATE TABLE [schema.]table (column datatype [DEFAULT expr][....]); -> [schema.]table = 생성 할 테이블의 이름 -> column datatype = 생성 할 컬럼명과 컬럼의 데이터 타입 설정 -> [DEFAULT expr] = 생성 할 컬럼의 기본값(디폴트값) 설정 * SQL의 데이터 타입 ㅁ def_board 테이블 생성 예시 ㅁ def_board 테이블 생성 후 컬럼 명과 데이터타입 확인 ㅁ def_boar..
안녕하세요. 오늘은 데이터 조작어(DML : Data Manipulation Language)의 내용을 정리 해보겠습니다. DML이란? - 데이터베이스 내의 테이블에 새로운 행을 입력하거나, 기존의 행을 수정 또는 삭제하는 명령어(데이터조작어) DML 종류 1. INSERT --> 테이블에 새로운 행을 삽입하는 기능 --> 한 번에 하나의 행만 입력 가능 EX) INSERT INTO table(column, column .... ) VALUES(value, value ....); -> table의 컬럼들에 맞춰 value 값을 insert 함 2. UPDATE --> 테이블에 저장된 행들을 변경하는 기능 --> 한 번에 여러 개의 행 변경 가능 EX) UPDATE table SET column1 = va..
안녕하세요! 오늘은 SQL의 set 연산자를 공부해보겠습니다. SET 연산자의 용도 - 여러 개의 쿼리문을 하나의 쿼리문으로 결합한다. SET 연산자 종류 - UNION: 각 쿼리에 의해서 선택 된 결과 중에 중복 행을 제거하고 출력 (합집합) - UNION ALL: 각 쿼리에 의해서 선택 된 모든 결과를 출력, 중복 허용 - INTERSECT: 각각의 쿼리에 공통적으로 포함되어 있는 행 출력 (교집합) - MINUS: 첫 번째 쿼리에 의해서 선택 된 결과에서 두 번째 쿼리에 의해 선택 된 결과를 제거하고 출력 (차집합) 1. UNION, UNION ALL 코딩 예시 --> UNION 사용 시 중복 행을 제거하고 출력 (합집합) --> UNION ALL사용 시 중복 행 모두 포함하여 출력 2. INTER..
안녕하세요. 오늘은 SQL의 서브쿼리(Subquery)에 대해서 공부해보겠습니다. 서브쿼리란? - SELECT 문(Main)에 포함되어 있는 또 하나의 별도 SELECT문(Subquery)이다. - 여러 번의 SELECT문을 수행해야 얻을 수 있는 결과를 하나의 중첩된 SELECT 문으로 얻을 수 있다. A. 서브쿼리 위치에 따른 종류 - SELECT 컬럼절 ☞ 스칼라 서브쿼리 - FROM 절 ☞ 인라인 뷰(서브쿼리) - WHERE 절 ☞ 스칼라 서브쿼리[Nested 서브쿼리] - GROUP BY 절 ☞ 스칼라 서브쿼리 - HAVING 절 ☞ 스칼라 서브쿼리 - ORDER BY 절 ☞ 스칼라 서브쿼리 B. 스칼라 서브쿼리(scalar subquery) - 하나의 SQL문으로 취급되지만 본질적으로 하나의 ..
안녕하세요! 오늘은 SQL을 배우며 굉~~~장히 많이 사용하는 JOIN(조인)에 대해 공부 해보겠습니다. 1. JOIN(조인) 이란? - 검색하고자 하는 컬럼이 한 개의 테이블이 아닌, 여러 개의 테이블에 존재하는 경우에 사용됨 2. JOIN(조인)의 종류 1) ORACLE 조인 (Oracle 8i) - where 조건을 조건 값을 주고 조인을 진행 함 - Cartesian Product -> 첫번째 테이블의 모든 행과 두번째 테이블의 모든 행들이 JOIN 된다. (조인 결과는 데이터로 유용하지 않다) - Equi-Join -> PK와 FK가 정확하게 일치하는 경우에만 검색되는 방식 - Non-EquiJoin -> 정확하게 일치하는 경우가 아닌 조인 방식 - Outer-Join -> 조인 조건에 만족하지..
안녕하세요!! 오늘은 복수 개의 행을 입력 받아 결과를 리턴하는 '그룹함수(Group Function)'에 대한 정리를 해보겠습니다! 1. 그룹 함수(Group Function) - 복수 개의 행을 입력 받아 한 건의 결과를 리턴 하는 함수 - 복수 개의 행들은 전체 테이블 또는 특정 그룹일 수 있다. - count(*) 함수를 제외한 모든 그룹함수는 기본적으로 Null 무시한다. (NVL 함수 이용) 2. GROUP BY - 전체 테이블이 아닌 특정 그룹으로 묶을 때 사용 - SELECT 절 뒤에 사용할 수 있는 컬럼은 GROUP BY 뒤에 기술된 컬럼 또는 그룹함수가 적용된 컬럼 이어야 함 - WHERE 절을 사용하여 행을 그룹으로 분류하기 전에 제외 시킬 수 있음 - GROUP BY 절 뒤에는 컬럼..
안녕하세요! 어제에 이어 단일행 함수와 관련된 내용을 추가로 정리 해보겠습니다. 1. 날짜 관련 함수 - 오라클은 날짜 타입을 저장 할 때, 내부적으로 세기, 년, 월, 일, 시, 분, 초 모두 저장 - but, 화면에 표시되는 형식은 기본적으로 (RR/MM/DD) (DD-MON-RR) 이다. SYSDATE 함수 - 데이터베이스 서버에 설정되어 있는 날짜를 리턴 EX) SELECT SYSDATE FROM DUAL; SYSTIMESTAMP 함수 - 데이터베이스 서버에 설정되어 있는 날짜+시간 리턴 EX) SELECT SYSTIMESTAMP FROM DUAL; EXTRACT 함수 - 년, 월, 일, 시, 분, 초 부분 추출 가능 EX) SELECT EXTRACT(YEAR FROM SYSDATE), EXTRA..