DB/Oracle

DB/Oracle

[Oracle DB] 데이터 추가, 수정, 삭제하기

테이블에 데이터 추가하기 - INSERT INTO 테이블명(컬럼, 컬럼, ...) VALUES(값, 값, ...); - INSERT INTO 테이블명 VALUES(모든 컬럼값을 순서대로); CREATE TABLE fruits( fname VARCHAR2(30), price NUMBER(8), qty NUMBER(6) ); -- # 기본 INSERT INSERT INTO fruits(fname, price, qty) VALUES('apple', 500, 80); INSERT INTO fruits(fname, price, qty) VALUES('apple', 500, 80); INSERT INTO fruits(fname, price, qty) VALUES('banana', 1000, 100); -- # 컬럼..

DB/Oracle

[Oracle DB] 테이블 생성하기

CRUD - 대부분의 프로그램들이 가지고있는 기본적인 데이터 처리들을 줄여 표현한 것 - Create (데이터 생성) - Read (데이터 읽기) - Update (데이터 수정) - Delete (데이터 삭제) DML (Data Manipulate Language, 데이터 조작어) - 테이블의 데이터를 조작하는 명령어들 - INSERT : 테이블 데이터 추가하기 (C) - SELECT : 테이블 데이터 읽기 (R) - UPDATE : 테이블 데이터 수정하기 (U) - DELETE : 테이블 데이터 삭제하기 (D) DDL (Data Definition Language, 데이터 정의어) - DB 오브젝트를 정의하는 명령어들 ※ DB 오브젝트 - 테이블, 시퀀스, 뷰, 인덱스, 사용자 계정, ... - CRE..

DB/Oracle

[Oracle DB] 서브 쿼리

서브 쿼리 - 쿼리문 내부에 포함된 또 다른 쿼리문 - 서브 쿼리를 포함하고 있는 쿼리를 메인 쿼리라고 부른다. - 서브 쿼리의 실행 결과에 따라 단일 행 서브 쿼리와 다중 행 서브 쿼리로 분류된다. - 단일 행 대상 연산자와 다중 행 연산자가 다르다. - 서브 쿼리는 비교 또는 연산 값으로 활용되거나 조회해야하는 테이블 대용으로 활용될 수 있다. 단일 행 서브 쿼리 - 서브 쿼리의 결과가 단 하나의 행인 경우 - 단일 값끼리 비교하는 일반 연산자를 사용할 수 있다. (=, >, = (SELECT salary FROM employees WHERE employee_id = 102); -- 테이블 대신 서브 쿼리 사용 SELECT * FROM (SELECT job_id, job_title FROM jobs ..

DB/Oracle

[Oracle DB] ANSI JOIN

ANSI JOIN - ANSI에서 지정한 표준 JOIN 문법 - 다른 관계형 데이터베이스에서도 사용할 수 있는 표준 문법 * ANSI(America National Standard Institute) : 미국 국제 표준 기구 CROSS JOIN SELECT * FROM employees CROSS JOIN departments; INNER JOIN (조건을 충족하는 행만 등장하는 것) - 조인 조건에는 ON절을 사용하고 원하는 조건에는 WHERE절을 사용 - 조인하는 두 테이블이 조인하기 위해 사용하는 컬럼명이 같다면 USING을 사용 (조인에 사용된 컬럼이 맨 앞으로 이동되고, 중복도 제거된다.) SELECT * FROM employees e INNER JOIN departments d ON e.dep..

DB/Oracle

[Oracle DB] SELF JOIN

SELF JOIN - 하나의 테이블에서 자기 자신과 JOIN하여 원하는 데이터를 얻어내는 JOIN - 해당 테이블의 기본키를 같은 테이블의 다른 컬럼에서 외래키로 사용하는 경우 ex: employees의 manager_id SELECT * FROM employees; SELECT emp.first_name AS 사원이름, emp.salary AS 부하월급, mgr.first_name AS 담당매니저이름, mgr.salary AS 상사월급 FROM employees emp, employees mgr WHERE emp.manager_id = mgr.employee_id;

DB/Oracle

[Oracle DB] OUTER JOIN

OUTER JOIN - JOIN 조건을 만족하지 못해 등장하지 못하는 행을 추가로 확인할 수 있는 JOIN - (+)를 붙인 쪽에 null을 추가해서 조건을 억지로 맞춰 등장하지 못했던 행을 조회한다. -- 일반적인 조인의 경우 외래키 컬럼에 null이 있으면 조회되지 않는 행이 존재한다. -- departments 쪽에 (+)를 붙이면 해당하는 부서가 없더라도 등장하게 된다. SELECT * FROM employees e, departments d WHERE e.department_id = d.department_id(+) ORDER BY employee_id; -- employees 쪽에 (+)를 붙이면 employees쪽에 null을 붙여서 등장하지 못했던 부서들이 등장한다. SELECT * FRO..

DB/Oracle

[Oracle DB] JOIN

기본키 (Primary Key, PK) - 한 테이블에서 하나의 행을 유일하게 구분할 수 있는 컬럼 - 각 테이블에서 기본키는 하나밖에 설정할 수 없다. - 기본키로 설정된 컬럼에는 중복된 값이 없어야 한다. (UNIQUE) - 기본키로 설정된 컬럼에는 NULL 값이 없어야 한다. (NOT NULL) 후보키 (Candidate Key) - 기본키가 될 자격을 갖추었지만 기본키로 선택되지 않은 컬럼 외래키 (Foreign Key, FK) - 다른 테이블에서는 기본키(또는 후보키)이지만 해당 테이블에서는 중복되는 값을 지닌 일반 컬럼인 경우 ex: employees의 department_id는 외래키 departments의 department_id는 기본키 - 외래키 컬럼에는 다른 테이블의 기본키 컬럼에 없..

DB/Oracle

[Oracle DB] 정렬, 소수점 다루기

ORDER BY 컬럼명 [ASC | DESC] - 조회 시 원하는 컬럼 기준으로 정렬하여 출력할 수 있다. - ASC : 오름차순 (Ascending) - DESC : 내림차순 (Decending) - ASC, DESC 입력 생략 시 ASC로 적용된다. SELECT salary, first_name FROM employees WHERE salary >= 10000 ORDER BY salary ASC; 내림차순 시 null이 먼저 등장한다. (가장 큰 값으로 취급한다.) SELECT salary, commission_pct, first_name FROM employees ORDER BY commission_pct DESC; 오름차순 시 null이 가장 나중에 등장한다. SELECT salary, commi..

로아다
'DB/Oracle' 카테고리의 글 목록 (2 Page)