전체 글

오늘 할 일은 내일로 미루고 내일 할 일은 생각하지 말자
DELETE 테이블의 행을 삭제할 때 사용하는 구문 -- DELETE 구문 형식 DELETE FROM TABLENAME WHERE 조건; -- FROM 키워드는 생략가능하다. -- WHERE 조건; 없이 사용하면 테이블 전체 삭제되기 때문에 주의해야한다.
UPDATE 테이블의 데이터(행)을 수정하는 구문 특정 행의 컬럼 값을 변경할 수 있다. --- UPDATE 구문 형식 UPDATE TABLENAME SET COL1 = 값1, COL2 = 값2, COL3 = 값3 ... WHERE 조건절; -- WHERE 키워드 없이 사용하면 모든 행이 변경되기 때문에, DELETE 문과 마찬가지로 조건절을 붙여주는것이 좋다.
DML MERGE 오라클 전용 문법 SELECT 수행 결과에 따라 UPDATE 또는 DELETE 또는 INSERT 를 수행한다. SELECT 조회 결과가 '존재하면' UPDATE 또는 DELETE 수행한다. SELECT 조회 결과가 '존재하지' 않으면 INSERT 를 수행한다. -- MERGE 구문 형식 MERGE INTO TABLENAME USING ( SELECT 절 - 인라인 뷰(서브 쿼리) ) ON (조건절) WHEN MATCHED THEN 구문 WHEN NOT MATCHED THEN 구문; -- INTO : 삽입, 갱신, 삭제가 이루어지는 테이블 -- USING : 조건 비교할 소스테이블 또는 인라인 뷰(서브쿼리) -- ON : WHEN 절에서 반응하는 조건을 부여하..
트랜잭션, Transaction 데이터를 처리하는 일련의 작업 단위 클라이언트마다 관리되는 데이터베이스에 작업한 내역들을 트랜잭션이라고 한다. COMMIT, ROLLBACK 에 의해서 작업한 내역들을 반영하거나 되돌린다. Commit & Rollback 이란? 트랜잭션의 상태 변화 트랜잭션의 시작 INSERT, UPDATE, DELETE 세 개중 하나를 수행했을 때 실행 가능한 DML 문장이 수행 되었을 때부터 시작된다. 트랜잭션의 종료 Commit 또는 Rollback 수행 시 DDL 이나 DCL 문장을 수행했을 때 종료된다. Auto Commit (자동 반영) 상황 DDL, DCL 완료되는 시점 SQLPlus 의 정상 종료(Exit 명령 수행)ㅇㅇ Auto Rollback (자동 미반영) 상황 시스템..
DDL, Data Definition Language, 데이터 정의어 DB 객체 테이블, 사용자 계정, 뷰, 인덱스, 시퀀스 등을 생성, 변경, 삭제하는 SQL 구문 CREATE, ALTER, DROP 생성, 변경, 삭제 테이블, Table, TB 데이터베이스의 데이터를 저장하는 단위 행(row, record), 열(column, col, 컬럼)으로 구성된 객체 연관성있는 데이터끼리 독립적인 테이블로 구성한다. 테이블들끼리 관계를 맺어 연관성을 확보한다(Primary Key - Foreign Key) 관계 : Relation, Relationship 개체 : Entity (Table) ER, Entity - Relation 개체 - 관계, 테이블들이 관계를 짓고 있는 것 RDB, Relation Data..
Oracle 자료형의 종류 NUMBER 숫자 타입 정수, 실수 둘 다 표현 가능하다 음수, 0, 양수 표현 가능 가변 길이 타입 NUMBER 최대 38자리까지 저장 가능한 타입 NUMBER(숫자) 최대 '숫자'에 입력해놓은 자리까지 정수 '만' 저장가능한 타입 NUMBER(숫자, d) 전체 '숫자' 자리까지 입력 가능, 소수점이하 d자리수까지 지정자리 확보 ex) NUMBER(7, 3) - 전체 7자리, 정수부 4자리, 소수부 3자리 ex) NUMBER(3, 5) - 전체 3자리, 소수점 이하 5자리 확보 VARCHAR2(n) 문자 타입 최대 n 길이의 문자를 저장할 수 있는 데이터 타입 가변 길이 문자 데이터 실제 저장되는 데이터 크기만큼만 저장공간을 가진다...
집합 연산자 두 개의 쿼리 결과를 하나의 집합(결과)로 만드는 연산자 조회 결과 집합(Result Set)을 하나로 합쳐서 보여준다. 각 조회 쿼리의 결과가 컬럼의 갯수, 컬럼의 이름이 같아야 한다. 집합 연산자의 종류 UNION 합집합 UNION ALL 중복을 허용하는 합집합 INTERSECT 교집합 MINUS 차집합
오라클 다중 행 서브쿼리 복수 행 서브쿼리라고도 한다. 서브쿼리의 조회 결과가 2건 이상 출력되는 서브쿼리 다중 행 전용 연산자만 사용 가능하다 =, !=, 등의 단일 행 연산자는 사용할 수 없다. 스칼라 서브쿼리로 사용할 수 없다. 다중 행 서브쿼리 전용 연산자 IN 단일 행 연산자로 사용될 때랑 같다. 동등비교(=)를 위해 사용한다. 서브쿼리의 결과 중 하나라도 같은 값이 있으면 조회된다. ANY (== SOME) 비교컬럼이 서브쿼리의 결과 중 어떤 값이라도 조건에 만족하면 조회된다. OR 의 동작과 비슷하다. ALL 비교컬럼이 서브쿼리 결과의 모든 값에 만족하면 조회된다. AND 의 동작과 비슷하다. EXISTS 서브쿼리와 메인쿼리를 비교하여 서브쿼리로 조회되는 결과값으로 존재하는 행이라면 메인쿼리..
ERD, Entity Relationship Diagram Entity : 개체, 테이블 Relation : 관계, 테이블간의 관계(PK - FK) 무료 ERD 웹 툴 AQueryTool
서브쿼리, SubQuery SQL 구문 안에 포함된 또 다른 SQL 구문 메인쿼리와 서브쿼리(내부쿼리)로 지칭한다. 서브쿼리는 ( ) 괄호로 묶어서 표현한다. 서브쿼리의 종류 - 적용하는 위치에 따른 분류 스칼라 서브쿼리 SELECT 절에서 컬럼 대신 사용되는 서브쿼리 인라인 뷰 FROM 절에서 조회 대상으로 사용되는 서브쿼리 서브쿼리 주로 WHERE 절에서 사용되는 서브쿼리 서브쿼리의 종류 - 서브쿼리 수행 결과의 형태에 따른 분류 단일 행 서브쿼리 조회 결과가 하나의 행으로 나오는 것 다중 행 서브쿼리 조회 결과가 여러개의 행으로 나오는 것 다중 열 서브쿼리 조회 결과가 여러 컬럼(행이 아닌 열) 으로 나오는 것 조회 조건을 조건절로 사용할 때 비교컬럼을( ) 으로 묶어서 표현한다. EX) WHERE..
rownum 조회되는 결과에 행 번호를 붙이는 키워드 SELECT ROWNUM, EMPNO, ENAME FROM EMP; -- 전체 보기 SELECT ROWNUM, EMP.* FROM EMP; ROWNUM 을 이용한 Top-N 분석 SELECT * FROM ( SELECT ROWNUM rnum, TMP.* FROM ( SELECT * FROM 테이블명 -- 조회하려는 대상지정 ORDER BY 컬럼명 -- 정렬기준 설정 ) TMP ) R WHERE RNUM BETWEEN 1 AND 4; -- 바쁘다 바빠 현대 사회~! SELECT * FROM ( SELECT ROWNUM rnum, E.* FROM ( SELECT * FROM emp ORDER BY hiredate ASC) E ) WHERE rnum BET..
조인의 종류 순서는 Oracle 문법 - ANSI 문법 - Oracle 문법 - ANSI 문법 EQUI JOIN, 등가 조인 오라클 전용 구문 조인의 기본이 되며, FROM절에 조인 대상 테이블들을 ','(COMMA)로 나열한다. 조인 대상 테이블들의 공통데이터를 가지는 컬럼을 이용해 조인한다(WHERE 조건 = 조건) 조인 컬럼이 같은 값을 가질 때 조회될 수 있도록 WHERE 절에서 조인 조건을 적용한다. 가장 많이 사용되는 구문 형식이다. ANSI 표준 INNER JOIN, 내부 조인 EQUI JOIN과 같은 결과를 얻는다. 구문 형식 FROM 기본테이블 INNER JOIN 조인테이블 ON 조인조건절 INNER JOIN 키워드에서 INNER를 생략하고 JOIN만 사용해도 된다. NON - EQUI ..
그룹 함수, Group Function 복수 행 함수 테이블의 여러 행들의 데이터를 그룹화하여 하나의 결과로 도출하는 함수 주로 테이블 데이터의 통계처리를 수행한다. COUNT 데이터를 가지고 있는 행 수를 반환 NULL 값은 무시한다. NULL 값을 가지는 컬럼은 전체 행 수에 포함되지 않는다. SUM 합계 AVG 평균 MAX 최대, 최고 값 MIN 최소, 최저 값 GROUP BY 절 데이터(행) 들을 원하는 기준으로 그룹화할 때 사용하는 절 그룹함수를 사용할 때 적용한다 컬럼을 기준으로 같은 값을 가지고 있는 행끼리 그룹화 한다. 구문 형식 GROUP BY 컬럼명1, 컬럼명2.. SELECT 절에서 그룹 함수 외의 다른 컬럼을 같이 조회하려면 GROUP BY 절에 그룹 함수를 제외한 모든 컬럼을 넣어..
to_number SELECT '123.67' "THIS IS CHAR", TO_NUMBER('123.67') "THIS IS CHAR -> NUMBER", TO_NUMBER('123.67', '99999.99') "형식을 지정", --to_number('123.67', '99999.9') "소숫점 지정 오류" TO_NUMBER('123.67', '99999.99') "소숫점 지정 신중" FROM DUAL; SELECT 67890 "1", '67890' + 11111 "2", TO_NUMBER('67890') + 11111 "3", --'67,890&#39..
데이터 연결 연산자, || (OR) 두 개의 데이터를 하나의 문자열로 연결하여 표현하는 연산자 자바에서는 '+' 가 이 역할을 수행했었다. 문자 || 문자 문자 || 숫자 문자 || 날짜 오라클 SQL에서 문자열은 ' '으로 감싸서 표현한다. SELECT ename job AS EMPLOYEE FROM emp; -- 위의 코드로 실행하면 ename과 job이 공백 없이 출력되기 때문에 가독성에 좋지 않다. SELECT ename || ' is ' || job AS EMPLOYEE FROM emp; -- 그래서 || || 의 사이에 문자열을 추가해준다. -- SMITH's job is CLERK 라는 형식으로 출력해주려면 SELECT ename || &#3..
헌일