전체 글 134

DDL < ALTER, DROP >

DDL : DATA DEFINITION LANGUAGE 데이터 정의 언어 1. ALTER 객체 구조를 수정하는 구문 ALTER TABLE 테이블명 수정할내용; - 수정할 내용 1) 컬럼 추가 / 수정 / 삭제 2) 제약조건 추가 / 삭제 => 수정은 불가 (수정하고자하면 삭제 후 새롭게 추가) 3) 테이블명 / 컬럼명 / 제약조건명 변경 1)컬럼 추가 / 수정 / 삭제 1_1) 컬럼 추가 (ADD) : ADD 추가할컬럼명 데이터타입 /* DEFAULT 기본값 */ 1-2) 컬럼 수정 (MODIFY) -- 데이터타입 수정 : MODIFY 수정할 컬럼명 바꾸고자하는 데이터타입 -- DEFAULT 값 수정 : MODIFY 수정할 컬럼명 DEFAULT 바꾸고자하는 기본값 -- 현재 변경하고..

*SQL_Oracle* 2021.11.11

DML <INSERT, UPDATE, DELETE>

데이터 조작 언어 테이블에 새로운 데이터를 삽입(INSERT)하거나, 기존의 데이터를 수정(UPDATE)하거나 삭제(DELETE) 하는 구문 1. INSERT : 테이블에 행을 추가하는 구문 [표현법] 1) INSERT INTO 테이블명 VALUES(값, 값, 값, ........); => 해당 테이블에 모든 컬럼을 추가하고자 하는 값을 내가 직접 제시해서 한 행을 INSERT 하고자 할 때 사용 주의할 점 : 컬럼 순번을 지켜서 VALUES 괄호 안에 나열해야 한다. 2) INSERT INTO 테이블명(컬럼명1, 컬럼명2, 컬럼명3, ......)VALUES(값1, 값2, 값3); => 해당 테이블에 특정 컬럼만 선택해서 그 컬럼에 추가할 값만 제시하고자 할 때 사용 한 행 단위로 추가되기 때문에 선택..

*SQL_Oracle* 2021.11.11

DDL <CREATE> SUBQUERY를 이용한 테이블생성

테이블 복사 뜨는 개념 서브쿼리 -> 메인 SQL문을 보조하는 쿼리문 [ 표현법 ] CREATE TABLE 테이블명 AS 서브쿼리; 서브쿼리 수행결과로 테이블을 생성한다. ※ SELECT절에서 산술연산 또는 함수식이 기술된 경우 엘리어스를 부여해야한다. 안그럼 오류뜸. 테이블이 다 생성된 후 뒤늦게 제약조건 추가 (ALTER TABLE 테이블명 XXXX) PRIMARY KEY : ADD PRIMARY KEY(컬럼명); PRIMARY KEY : ADD FOREIGN KEY(컬럼명) REFERENCES 참조할테이블명(참조할컬럼명) UNIQUE : ADD UNIQUE(컬러명); CHECK : ADD CHECK(컬럼에 대한 조건); NOT NULL : MODIFY 컬럼명 NOT NULL;

*SQL_Oracle* 2021.11.10

DDL < CREATE >

DDL (DATA DEFINITION LANGUAGE) : 데이터 정의 언어 오라클에서 제공하는 객체(OBJECT)를 새로이 만들고(CREATE), 구조를 변경하고(ALTER), 구조자체를 삭제하는 (DROP)하는 명령문 즉, 구조자체를 정의하는 언어로 주로 DB관리자, 설계자가 사용함 오라클에서의 객체(구조) : 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE) 인덱스(INDEX), 패키지(PACKAGE), 트리거(TRIGGAER) 프로시져(PROCEDUER), 함수(FUNCTION), 동의어(SYNONYM), 사용자(USER) 테이블이란? 행(ROW), 열(COLUMN)로 구성되는 가장 기본적인 데이터베이스 객체 모든 데이터는 테이블을 통해서 저장됨(데이터를..

*SQL_Oracle* 2021.11.08

DML < SELECT > SUBQUERY(서브쿼리)

하나의 주된 SQL문(SELECT, INSERT, UPDATE, DELET, CREATE.....) 안에 포함된 또 하나의 SELECT 문 메인 SQL문을 보조역할을 하는 쿼리문 [서브쿼리 구분] 서브쿼리를 수행한 결과값이 몇행 몇열이냐에 따라서 분류 - 단일행 서브쿼리 : 서브쿼리를 수행한 결과값이 오로지 1개일 때 - 다중행 서브쿼리 : 서브쿼리를 수행한 결과값이 여러 행일 때 - 다중열 서브쿼리 : 서브쿼리를 수행한 결과값이 여러 열일 때 - 다중행 다중열 서브쿼리 : 서브쿼리를 수행한 결과값이 여러 행 여러열 일 때 => 서브쿼리를 수행한 결과가 몇행 몇열이냐에 따라 사용가능한 연산자도 달라짐 1. 단일행 서브쿼리 (SINGLE ROW SUBQUERY) 서브쿼리의 조회 결과값이 오로지 1개일 때 ..

*SQL_Oracle* 2021.11.06

DML < SELECT > GROUP BY , HAVING , 집합 연산자

1. GROUP BY 절 그룹을 묶어줄 기준을 제시할 수 있는 구문 여러개 값들을 그룹별로 나눠서 처리할 목적으로 사용. 2. HAVING 절 그룹에 대한 조건을 제시하고자 할 때 사용되는 구문 (대부분의 경우 그룹함수를 가지고 조건 제시) 그룹함수(집계함수)는 WHERE절에 쓸 수가 없어서 HAVING절을 쓴다. 5 : SELECT * /조회하려는 컬럼 / 산술연산 / 함수식 "별명" 1 : FROM 조회테이블 2 : WHERE 조건식 3 : GROUP BY 그룹 기준에 해당하는 컬럼명 / 함수식 4 : HAVING 그룹함수식에 대한 조건식 6 : ORDER BY 정렬 기준에 해당하는 컬럼명 / 별칭 / 컬럼 순번 ASC/DESC NULL F/NULL L 여러개의 쿼리문을 가지고 하나의 쿼리문으로 만드..

*SQL_Oracle* 2021.11.06

DML < SELECT> JOIN

두 개 이상의 테이블에서 데이터를 같이 조회하고자 할 때 조회 결과는 하나의 결과물(RESULT SET)로 나옴 관계형 데이터베이스에서는 최소한의 데이터로 각각의 테이블에 데이터를 보관하고 있음 -> 관계를 맺어본적이 없다. JOIN구문을 이용해서 여러개 테이블 간 "관계"를 맺어서 조회하는법을 공부할 것이다!!! 무작정 JOIN을 사용해서 조회하는것이 아니라 테이블 간 "연결고리"에 해당하는 컬럼을 매칭 시켜야함 1. 등가조인( EQUAL JOIN) / 내부조인(INNER JOIN) 연결시키는 컬럼의 값이 일치하는 행들만 조인되서 조회 ( == 일치하지 않는 값들은 조회에서 제외) [오라클] 전용구문 --> FROM절에 조회하고자 하는 테이블들을 나열(,) -- WHERE절에 매칭시킬 컬럼명(연결고리)..

*SQL_Oracle* 2021.11.05

DML <SELECT> 함수 - 그룹 함수

1. SUM(숫자타입컬럼) : 해당 컬럼값들의 총 합계를 반환해주는 함수 2. AVG(숫자타입컬럼) : 해당 컬럼값들의 평균값을 구해서 반환 3. MIN(ANY타입컬럼) : 해당 컬럼값들의 가장 작은 값을 반환 날짜는 가장 예전 날짜, 이름은 제일 '가나다'순으로 가장빠른순, 이메일은 'ABC'순으로 가장 빠른 순 4. MAX(ANY타입컬럼) : 해당 컬럼값들의 가장 큰 값을 반환 날짜는 가장 최근날짜, 이름은 '가나다순으로' 가장 나중순, 이메일은 'ABC'순으로 가장 나중 순 5. COUNT : 조회된 행 갯수를 세서 반환 - COUNT(*) : 조회 결과에 해당하는 모든 행 갯수를 다 세서 반환 - COUNT(컬럼명) : NULL이 아닌 것만 행갯수만 세서 반환 - COUNT(DISTINCT 컬럼명..

*SQL_Oracle* 2021.11.04

DML < SELECT> 함수 - 단일행 함수 2

- DATE 타입 : 년, 월, 일, 시, 분, 초를 다 포함한 자료형 -- SYSDATE : 현재 시스템 날짜 반환 - MONTHS_BETWEEN(DATE1, DATE2) : 두 날짜 사이의 개월수 반환 NUMBER타입 반환 DATE2가 미래일 경우 음수가 나올 수 있음 - ADD_MONTH(DATE, NUMBER) : 특정 날짜에 해당 숫자만큼의 개월수를 더한 날짜 반환 - NEXT_DAY : 특정날짜에서 가까운 해당 요일을 찾아 날짜를 반환 요일을, 숫자로도 표시 가능 - LAST_DAY : 해당 특정 날짜 달의 마지막 날짜를 구해서 반환(DATE타입반환) EXTRACT : 년도, 월, 일 정보를 추출해서 반환(NUMBER타입으로 반환) -EXTRACT(YEAR FROM DATE) : 특정날짜로부터..

*SQL_Oracle* 2021.11.04