목록SQL (14)
개발 일기
안녕하세요! 오늘은 SQL의 기타 스키마 객체 중 VIEW에 이어서 SEQUENCE(시퀀스)에 대해 알아보겠습니다! SEQUENCE란?? - 여러 사용자들이 공유하는 데이터베이스 객체로서, 호출 될 때마다 중복되지 않은 고유한 숫자를 리턴하는 객체 - 중복되지 않는 기본키 컬럼에 사용할 값을 발생시키는데 주로 사용한다. SEQUENCE(시퀀스) 활용 예시 1. 테이블 생성 2. 시퀀스 생성 -- 'freeboard_no_seq' 시퀀스 생성 -- 시퀀스 값 1씩 증가 -- 시작 값 1 지정 -- 사이클 돌지 않으며, 캐시 남기지 않도록 설정 3. 시퀀스 활용 --> 테이블 내 인서트 1회 -- PK(board_no)의 values 값을 freeboard_no_seq.nextval로 설정 -- 설정 후 1..
안녕하세요!! 오늘은 SQL의 기타 스키마 객체중 VIEW(뷰)에 대해 공부해보겠습니다. VIEW(뷰)란? - 테이블 또는 다른 뷰를 기초로 하는 논리적 테이블 - 뷰는 그 자체로서 소유하는 데이터는 없지만, 창문처럼 창문을 통해 어떤 데이터를 보거나 변경할 수 있다. - 뷰에서 참조하는 테이블을 기본 테이블(Base Table)이라고 한다. VIEW(뷰)의 사용 목적 - 데이터베이스에서 선택적으로 데이터를 보여줄 수 있기 때문에, 데이터베이스에 대한 접근을 제한 할 수 있다. - 복잡한 질의로부터 결과를 검색하기 위한 단순한 질의를 만들 수 있다. - 사용자와 애플리케이션 프로그램에 대한 데이터 독립성을 제공한다. - 하나의 뷰는 여러개의 테이블로부터 데이터를 검색하는데 사용 가능하다. VIEW(뷰)의..
안녕하세요!! 오늘은 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 -> 조인 조건에 만족하지..