본문 바로가기
반응형

오라클은 간단하게는 CRUD, PL/SQL만 보면

간단해 보이지만 실제 하다보면 간단하지 않다는 특징이 있다

 

가장 쉬운 부분이 SELECT 같아 보이기도 하지만

JOIN과 서브쿼리를 사용해서 원하는 데이터만 출력하려면

난이도가 엄청나게 올라가게 된다

 

SQL의 기초는 CRUD, PL/SQL의 함수, 프로시저면 충분하고

그 이후로는 하나씩 쌓아올리면 된다

 

취직하기 전부터 취직하고 난 이후에

계속 공부한 내용들을 정리해 놨는데

보면서 한번 쭉 정리해 놓는다면

정말 큰 도움이 될 거라고 확신한다

 

CRUD(Create, Read, Update, Delete)

테이블 생성부터 제약조건 설정

SELECT, INSERT, UPDATE, DELETE에 대한 내용인데

 

Create에 해당하는 테이블 생성은 실제

SQL Tool로 대부분 해결하게 되기 때문에

중요한건 SELECT, INSERT, UPDATE, DELETE가 되겠다

 

오라클 CREATE TABLE로 테이블 생성방법

오라클에서 CREATE TABLE로 테이블을 생성할 수 있는데 테이블이 있어야 이후에 SELECT, INSERT, UPDATE, DELETE가 가능해지기에 일단 데이터베이스로 뭘 하기에 앞서 테이블을 만들어야 한다 먼저 테이블

wakestand.tistory.com

 

오라클 테이블 제약조건(Constraint) 종류 및 작성방법 정리

오라클 CREATE TABLE 문을 작성하는 방법은 아래와 같은데 CREATE TABLE 테이블명 ( 컬럼명 데이터형 제약조건, 컬럼명2 데이터형 제약조건 ); 여기서 제약조건(Constraint) 부분을 작성할 시 제약조건의 종

wakestand.tistory.com

 

오라클 insert, update, delete, select 사용법 정리

ORACLE에서 CREATE TABLE로 테이블을 만든뒤 INSERT, UPDATE, DELETE, SELECT문을 사용할 수 있는데 각각 삽입, 수정, 삭제, 조회 4가지다 차례대로 한번 알아보자 1. INSERT 테이블에 행을 추가한다 INSERT 예제..

wakestand.tistory.com

ALIAS

ALIAS를 통해 컬럼에 이름을 붙여줄 수 있게 된다

 

오라클 alias 예제 및 사용방법

오라클에서 ALIAS는 컬럼이나 테이블에 별칭을 줄 때 사용하게 되는데 컬럼명이 너무 길어 사용하기 불편하거나 함수 등을 사용해 가져와서 컬럼명이 아예 없을 경우 별칭을 줘서 사용하게 된다

wakestand.tistory.com

ROWNUM

ROW별로 조회된 행에 1부터 시작하는 값을 넣어줄 수 있다

 

오라클 ROWNUM 개념부터 활용까지

오라클에서 조회 컬럼에 ROWNUM을 추가해서 조회된 행이 몇번째 행인지 확인할 수 있는데 ROWNUM은 테이블에 추가하지 않아도 사용이 가능하다 다만 ROWNUM을 추가한 상태에서 ORDER BY로 ROWNUM이 아닌

wakestand.tistory.com

서브쿼리(Subquery)

()안에 SELECT 문을 넣고 조회한 뒤에

FROM으로 해당 내용을 뽑아내서 사용한다

오라클에서 굉장히 빈번하게 사용하는 개념이라

꼭 알아두고 다음으로 넘어가야 한다

 

오라클 서브쿼리 사용방법 및 예제

오라클에서 서브쿼리(Subquery)는 쿼리 안에 쿼리를 넣는다는 말인데 서브쿼리는 SELECT, FROM, WHERE 중 어디에든 올 수 있다 위 스크린샷과 같이 SELECT 쪽에 서브쿼리가 올 경우 스칼라 서브쿼리(Scalar

wakestand.tistory.com

JOIN

여러 테이블을 합칠 때 사용한다

INNER JOIN은 값이 같은 컬럼만 합치고

OUTER JOIN은 LEFT, RIGHT 기준으로

한쪽에 맞춰서 합치게 된다

 

INNER JOIN, OUTER JOIN(LEFT, RIGHT, FULL) 예제부터 차이까지

여기 NAME과, AGE 형태의 값을 받는 테이블 TB1, TB2가 있는데 TB1에는 4줄의 값을 TB2에는 3줄의 값을 삽입했다 이 두 테이블을 이용해 INNER JOIN과 OUTER JOIN의 예제 및 차이점을 알아보자 1. INNER JOIN IN..

wakestand.tistory.com

UNION, UNION ALL

여러 조회쿼리를 합칠 때 사용한다

UNION은 중복 제거, UNION ALL은 중복도 모두 합친다

 

UNION, UNION ALL 사용법, 예제 & 차이점

UNION, UNION ALL은 여러 조회한 결과를 합쳐주는 역할을 하는데 SELECT * FROM TB1 UNION(혹은 UNION ALL) SELECT * FROM TB2 이런 식으로 조회한 결과를 합칠 수 있다 예제로 사용될 테이블과 쿼리는 위를 확인..

wakestand.tistory.com

GROUP BY, DISTINCT

중복을 제외하고 특정 컬럼 기준으로 묶어낼 때 사용한다

GROUP BY에 HAVING 사용시에는

특정 조건을 기준으로 묶을 수 있다

 

오라클 DISTINCT를 이용한 중복제거 예제 및 사용방법

해당 테이블에서 DISTINCT를 이용해서 중복을 제거한 JOB을 가져오려고 하는데 중복을 제거하고 값들을 묶는 방식은 GROUP BY를 이용해도 가능하고 오라클 GROUP BY, HAVING 예제 및 사용방법 오라클에서

wakestand.tistory.com

 

오라클 GROUP BY, HAVING 예제 및 사용방법

오라클에서는 GROUP BY를 사용해서 테이블 내의 값을 그룹으로 묶을 수 있는데 위 스크린샷의 테이블에서 JOB별로 평균 SAL을 묶어서 조회를 하려고 한다 묶을 기준이 되는 컬럼을 GROUP BY 컬럼을 사

wakestand.tistory.com

INTERSECT, MINUS

중복이거나 중복이 아닌 값만 가져올 때 사용한다

 

오라클 INTERSECT 예제 및 사용방법

오라클에서 INTERSECT는 두 SELECT문에서 겹치는 내용만을 가져올 때 사용하는데 사용방법은 두 조회 쿼리문 사이에 INTERSECT를 넣어주면 된다 위 예제에서는 DEPT 테이블에 10, 20, 30, 40, 50 EMP 테이블에

wakestand.tistory.com

 

오라클 MINUS 예제 및 사용방법

오라클에서 MINUS는 두 SELECT 문에서 중복되는 내용을 제외하고 가져올 때 사용하는데 사용방법은 두 SELECT 문을 작성하고 중간에 MINUS를 넣어주면 된다 여기서 위에 있는 조회문을 기준으로 MINUS를

wakestand.tistory.com

각종 WHERE 방법 정리

LIKE

특정 문자를 포함한 경우만 조회

 

오라클 LIKE를 이용한 특정 문자 포함 검색방법

오라클 TB1 테이블에서 사람들의 이름(NAME)과 나이(AGE) 컬럼이 있는 것을 볼 수 있는데 LIKE를 사용해서 특정 문자를 포함하고 있을 경우에만 조회를 하려고 해 본다 LIKE는 WHERE절에서 WHERE 컬럼명 LI

wakestand.tistory.com

LIKE IN

LIKE를 여러번 사용하려는 경우

 

오라클 LIKE IN 사용방법 및 예제 (REGEXP_LIKE)

오라클에서 SELECT 시 WHERE 절에서 REGEXP_LIKE를 사용하면 LIKE IN 처럼 다중 LIKE로 사용이 가능한데 REGEXP_LIKE (컬럼명, '값|값') 을 넣어주면 자동으로 ENAME 컬럼에 '값'에 해당하는 경우를 가져오게 되..

wakestand.tistory.com

WHERE IF ELSE 

WHERE에 IF ELSE 개념을 넣어 조회할 경우

 

오라클 WHERE IF ELSE 사용방법 및 예제

오라클에서 WHERE에 IF, ELSE IF, ELSE를 사용하려는 경우에는 MYBATIS에서 사용하는 것이 최선이지만 상황이 여의치 않을 경우에는 WHERE 절에 IF 처럼 넣어 줄 수 있는데 WHERE ((조건1) OR (조건2)) 이런 식

wakestand.tistory.com

OR

OR 조건에 해당하는 값만 조회한다

 

오라클 WHERE OR 문 사용방법

오라클에서 조회 시 WHERE 절에 OR를 넣어 EMP 테이블의 HIREDATE가 19800101 ~ 19811231 안에 속하는 값이면서 DEPTNO는 '20'이거나 ENAME이 'CLARK'인 값을 가져오려고 하는데 조회를 해 보니 조건이 제대로 적..

wakestand.tistory.com

NOT, OR를 사용한 특정 조건 제외 후 조회

 

오라클 NOT, OR를 이용한 특정 조건 제외 후 조회방법

TB1 테이블에서 AGE가 40이고 NAME이 박영수인 항목만 제외하고 조회하려 하는데 AGE가 40 NAME이 박영수가 아니거나 NAME이 박영수고 AGE가 40이 아닌 항목은 조회되어야 한다 NOT과 OR을 사용한 방법이

wakestand.tistory.com

ANY, SOME, ALL

ANY와 SOME은 조건 중에 하나만 맞아도

ALL은 모든 조건에 맞아야 가져온다

 

오라클 WHERE절 ANY SOME ALL 사용방법 및 예제

오라클에서 WHERE 절에 사용되는 ANY, SOME, ALL 사용방법을 알아보자 먼저 ANY와 SOME은 동일한 기능인데 ANY(값, 값, 값) 중에서 조건이 하나라도 맞으면 조회한다 SAL > ANY(1000, 1500) 으로 걸면 SAL이 1000..

wakestand.tistory.com

MERGE INTO, SELECT INSERT, SELECT UPDATE

MERGE INTO는 SELECT 후 조건에 맞으면 UPDATE, DELETE

맞지 않으면 INSERT를 수행하게 되고

 

SELECT INSERT, SELECT UPDATE는

조회 후 삽입, 조회 후 수정을 의미한다

 

오라클 MERGE INTO 사용법 & 예제

MERGE INTO는 하나의 테이블 혹은 두 테이블을 가지고 비교해본 뒤에 조건에 맞으면 UPDATE, DELETE를 수행하고 맞지 않으면 INSERT를 수행하게 된다 위 테이블을 사용한 예제를 보자면 아래와 같다 MERGE

wakestand.tistory.com

 

오라클 SELECT 한 내용 INSERT 방법

오라클에서 조회한 내용을 바로 테이블에 삽입하려고 하는데 SELECT 한 후에 바로 INSERT가 가능하다 방법은 다음과 같은데 INSERT INTO 테이블명(컬럼명) SELECT 컬럼명 FROM 테이블명 을 통해 테이블에

wakestand.tistory.com

 

오라클 SELECT UPDATE 동시에 하는 방법 정리

오라클에서 SELECT 한 내용을 가지고 그대로 UPDATE 하는데 사용하려고 하는데 컬럼 하나만 변경할 경우에는 UPDATE 테이블명 SET 컬럼명 = (SELECT 컬럼 FROM 테이블명 WHERE 조건) 이런 식으로 사용한다 컬

wakestand.tistory.com


PL/SQL

PL/SQL이란 SQL을 프로그래밍 언어처럼

사용하는 것을 말하는데

함수, 프로시저, 패키지, 트리거 등이 이에 해당한다

 

오라클 PL/SQL 이란?

PL/SQL이란 Procedural Language for SQL를 말하는데 번역을 해 보자면 SQL 용 절차적 언어가 되겠다 근데 이렇게 봐도 뭔 말인지 이해가 안될텐데 기존 SQL 문법만 사용 시에는 IF / ELSE, FOR, WHILE, EXCEPTIO..

wakestand.tistory.com

PL/SQL 쿼리 버전관리 방법

이해하기는 어렵겠지만 한번 복사 붙여넣기해서

테이블과 트리거를 만들어 두면

변경 내용을 편하게 확인할 수 있다

 

오라클 PL/SQL 수정 시 자동 백업방법(형상관리)

오라클에서 PL/SQL 사용 시 이클립스와 같은 History 기능을 지원하지 않기 때문에 함수, 프로시저, 패키지 만지다가 이전 내용 까먹어서 CTRL + Z로 복원이 안되면 시원하게 코드 날려먹은 건데 트리

wakestand.tistory.com

변수에 기본값 주기

변수명 := 로 쉽게 기본값을 줄 수 있다

 

오라클 PL/SQL 변수에 기본값 주는 방법

PL/SQL에서 변수에 기본값을 줘야하는 경우 엄청 간단하게 줄 수 있는데 변수 := 값 을 해주면 된다 위 예제는 프로시저에서 BASE_VAL 변수에 아무 값을 할당받지 못할 경우(NULL) 'VALUE'를 할당하게 되

wakestand.tistory.com

%ROWTYPE %TYPE

테이블의 컬럼 타입, 크기로 변수 타입, 크기를 설정할 때 사용

 

오라클 %ROWTYPE %TYPE 개념 및 예제

오라클에서 %ROWTYPE , %TYPE 는 PL/SQL에서 변수의 데이터타입, 크기를 지정해줄 때 사용하는데 사용 시에는 변수의 데이터타입, 크기가 선택한 테이블 컬럼의 타입, 크기와 동일하게 된다 먼저 %ROWTYP

wakestand.tistory.com

RECORD

일반 변수와 다르게 배열 타입의 변수를 담을 때 사용한다

 

오라클 PL/SQL RECORD 사용법 및 예제

오라클에서 RECORD는 PL/SQL에서 데이터를 객체 형식으로 담을 때 사용하는데 일반 변수와의 차이는 변수 하나에 값 하나가 아니라 RECORD 안에 여러 변수가 들어가기 때문에 여러 변수들에 값을 할

wakestand.tistory.com

함수(Function)

특정 값을 가져오는 경우에 주로 사용한다

예를 들어 사번을 넣으면 이름이 나온다거나

 

오라클 함수(function) 문법부터 실행, 조회까지

오라클(Oracle)에서 function이란 호출 시 function 내에 작성한 내용을 수행해서 결과를 반환하는데 사용한다 대표적인 활용 예제는 특정 컬럼 조회 시 복잡한 공식을 사용해야 하는 경우 조회할 때마

wakestand.tistory.com

프로시저(Procedure)

조회하고 INSERT 하고 UPDATE 하고

여러가지 동작을 한번에 수행하는 경우에 사용한다

 

오라클 프로시저 작성부터 실행, 조회까지

오라클에서 프로시저(Procedure)란 특정 구문을 반복해서 사용할 때 사용하는 PL/SQL BLOCK이다 프로시저는 함수(Function)과는 다르게 Return 값을 반드시 반환하지 않아도 된다 프로시저의 장점으로는

wakestand.tistory.com

패키지(Package)

패키지는 함수와 프로시저를 한 패키지 안에 넣고

패키지 안에서 함수와 프로시저를 뽑는 식으로 사용한다

 

오라클 패키지(Package) 생성부터 실행까지

오라클에서 패키지(Package)는 프로시저(Procedure)와 함수(Function) 집합이라고 보면 되는데 한 패키지 안에 프로시저와 함수를 넣어놓고 필요할 때 패키지 내에 있는 프로시저와 함수를 뽑아 사용하

wakestand.tistory.com

예외처리(Exception)

예외명부터 예외를 발생시키거나

커스텀 예외처리를 만드는 방법

 

오라클 PL/SQL Exception 종류부터 사용방법 정리

오라클 PL/SQL 에서는 Exception을 사용할 수 있는데 한글로 읽어보면 예외라는 뜻이 되겠다 함수나 프로시저 같은 PL/SQL 수행 시 숫자만 들어올 수 있는 컬럼에 문자를 넣는다거나 0으로 나눈다거나,

wakestand.tistory.com

PL/SQL 디버깅(Debugging)

PL/SQL을 디버깅하기 위해서는 권한을 줘야 하고

지원하는 툴을 사용해야 하는데

일반적으로는 오라클 설치와 동시에 깔리는

Oracle SQL Developer를 사용해주면 된다

 

오라클 프로시저 디버깅 권한 주는 방법

오라클에서 프로시저(Procedure) 디버깅을 하려고 하는데 디버그 시에는 디버그 권한이 필요하기 때문에 ORA-01031: 권한이 불충분합니다 이 세션에는 DEBUG CONNECT SESSION 및 DEBUG ANY PROCEDURE 사용자 권한.

wakestand.tistory.com


오라클 기본 함수들

분량이 엄청나게 많지만 아는게 힘이다!!

TO_DATE

날짜로 만들 때 사용

 

오라클 TO_DATE 사용방법

ORACLE에서 DATE 타입의 컬럼에 값을 넣을 때 대부분은 SYSDATE를 사용하지만 특정 날짜값을 넣어줘야 하는 경우가 있는데 그 경우에는 TO_DATE를 사용해야 한다 TO_DATE('날짜값', 'FORMAT'); 위와 같이 사용

wakestand.tistory.com

TO_CHAR

원하는 형태(Format)의 데이터를 만들 때 사용

 

오라클 TO_CHAR 사용방법

ORACLE에서 TO_CHAR는 숫자나 날짜를 원하는 형태의 데이터로 만들 수 있는데 TO_CHAR(값, 'FORMAT'); 이런 식으로 사용한다 왼쪽이 값이고 오른쪽이 어떤 형태로 만들지에 대한 포맷이다 만약 FORMAT 없이

wakestand.tistory.com

DECODE

DECODE(값, '조건1', '조건1 일시 값' ...);

이런 식으로 사용하게 된다

 

오라클 DECODE 사용방법 및 예제

오라클에서 DECODE는 값을 가지고 설정한 값과 비교해 맞으면 그 값이 나오게 되고 조건에 맞지 않을 시에도 값을 설정해 그 값이 나오게 할 수 있는데 프로그래밍 언어에서 유사한 부분을 꼽아보

wakestand.tistory.com

CASE WHEN

DECODE가 길어질 경우 CASE WHEN을 쓰면

IF문처럼 편하게 사용 가능하다

 

오라클 CASE WHEN 사용법 & 예제

CASE WHEN 은 SEELCT CASE WHEN 컬럼명 = 조건 THEN 조건이_맞을_시_값 WHEN 컬럼명 = 조건2 THEN 조건이_맞을_시_값 ELSE '조건이 맞지 않을 시 값' END AS 명명할_컬럼명 FROM 테이블 이런 식으로 사용하는데..

wakestand.tistory.com

NVL, NVL2

각각 조회 결과가 NULL일때 사용하게 된다

 

오라클 NVL, NVL2 사용방법 및 예제

오라클에서 NVL은 값이 NULL이라면 설정한 값이 나오고 NULL이 아니라면 값이 그대로 나오게 되는데 사용방법은 아래와 같다 ORACLE NVL 사용 시 SELECT NVL('값','NULL일 시 값') FROM 테이블명 -- 실제 사용

wakestand.tistory.com

OVER()

GROUP BY나 서브쿼리를 사용하지 않고

묶은 값을 가져올 때 사용한다

 

오라클 OVER() 개념부터 사용법까지

오라클에서 OVER() 를 사용하면 GROUP BY나 서브쿼리를 사용하지 않고 분석 함수(SUM, MAX, COUNT)과 집계 함수(GROUP BY, ORDER BY)를 사용할 수 있는데 집계 함수 사용 시 서브쿼리가 지나치게 길어지는 것을

wakestand.tistory.com

BETWEEN A AND B

A와 B 날짜 사이의 값을 조회할 때 사용

 

오라클 between a and b 예제 및 사용방법

오라클에서 between a and b는 특정 범위의 날짜를 조건으로 조회할 때 주로 사용하는데 where 절에서 컬럼명 between a and b 이렇게 사용하면 된다 예제에서는 DATECOL 컬럼 안에 2019-07-13, 2019-01-13, 2020..

wakestand.tistory.com

EXISTS, NOT EXISTS

조회결과가 있을 때, 없을 때만 조회를 수행하게 된다

 

오라클 EXISTS NOT EXISTS 개념 및 예제

오라클에서 EXISTS와 NOT EXISTS는 WHERE EXISTS (서브쿼리) 방식으로 사용하는데 오라클 서브쿼리 사용방법 및 예제 오라클에서 서브쿼리(Subquery)는 쿼리 안에 쿼리를 넣는다는 말인데 서브쿼리는 SELECT

wakestand.tistory.com

CONCAT, ||

문자열을 합칠 때 사용한다

 

오라클 CONCAT, ||를 이용한 문자열 합치기 및 예제

오라클에서 CONCAT, ||를 사용해 문자열을 합칠 수 있는데 CONCAT은 CONCAT(값, 값) 이렇게 사용하고 2개 이상을 합칠 경우에는 ||를 사용해주면 되는데 값 || 값 || 값 이렇게 합쳐주면 된다 CONCAT과 || 중

wakestand.tistory.com

WITH

가상의 테이블을 만들어서 사용할 때 사용

 

오라클 WITH 개념 및 예제

오라클에서 WITH는 가상의 테이블을 만들 때 사용하는데 WITH 테이블명 AS ( 테이블명에 들어갈 값 ) 이런 식으로 사용하게 된다 위 스크린샷과 같이 DUAL을 이용해 값을 넣거나 SELECT * FROM EMP와 같이

wakestand.tistory.com

GROUPING, ROLLUP

하나만 사용되지는 않고 둘 다를 이용해 소계, 합계를 구할 때 사용한다

 

오라클 GROUPING 함수 개념 및 예제

오라클에서 GROUPING 함수는 ROLLUP, CUBE와 함께 사용할 때 쓰이는데 먼저 GROUPING 함수 자체는 GROUPING(컬럼명) 으로 사용하며 사용 시에는 반드시 GROUP BY에 GROUPING 해준 항목을 넣어야 한다 보면 GROUPI..

wakestand.tistory.com

 

오라클 ROLLUP 개념 및 예제

오라클에서 ROLLUP은 소계, 합계를 자동으로 뽑을 때 사용하는데 GROUP BY 후 기준으로 사용할 컬럼을 ROLLUP(컬럼) 으로 묶어주는 식이 되겠다 위 예제를 보면 해당되는 컬럼의 값이 쭉 나오고 소계,

wakestand.tistory.com

 

오라클 ROLLUP을 이용해 소계 합계 구하는 방법

오라클에서는 ROLLUP을 이용해 GROUP BY로 분류한 전체 ROW와 소계, 총계를 구할 수 있는데 오라클 ROLLUP 개념 및 예제 오라클에서 ROLLUP은 소계, 합계를 자동으로 뽑을 때 사용하는데 GROUP BY 후 기준으

wakestand.tistory.com


기타 개념들

NULL이란?

NULL은 해당 컬럼 안에

값이 아예 할당이 되지 않은 상태를 말한다

 

오라클 NULL 개념 및 사용방법 정리

오라클에서 NULL은 해당 컬럼 안에 아무 정보가 없다 (absence of information) 라는 말인데 컬럼에 뭔가 넣어주지 않았기 때문에 정보가 없는 상태를 NULL 이라고 한다 '', 0도 뭔가 없는 것 같은데 공백

wakestand.tistory.com

오라클 환경변수 설정방법

 

오라클 환경변수 설정 및 추가 삭제 방법

먼저 윈도우 키를 누르고 내 PC를 입력한 뒤 우측의 속성을 눌러준다 다음으로는 왼쪽에 위치한 고급 시스템 설정을 눌러준다 시스템 속성에서는 고급 탭 하단의 환경 변수를 눌러준다 시스템

wakestand.tistory.com

오라클과 타 에디터, 프로그램 연결 시

일단 tnsnames.ora 혹은 Direct로 연결하는 방법부터

차이점을 알아본다

 

오라클 tnsnames.ora 개념부터 샘플 설정 위치 정리

오라클에서 tnsnames.ora 파일이란 데이터베이스 주소를 정의해놓은 파일인데 tnsnames.ora 파일이 있으면 IP 주소와 SID 혹은 Serivce Name을 직접 입력하지 않고도 DB와 연결을 할 수 있게 되는 것이다 샘

wakestand.tistory.com

 

오라클 Direct, TNS 접속방법별 차이 정리

DBeaver, TOAD와 같은 SQL Editor로 데이터베이스에 접속하는 방법은 Direct(Basic), TNS 두 방법이 있는데 처음에는 시키는대로 TNS를 사용해 접속하지만 어떻게 접속하던 차이는 없다 그냥 접속 방법이 다

wakestand.tistory.com

CRUD에서 가장 어려운 것은?

CRUD에서 가장 주의해야 할 것은?

이거 면접 단골문젠데 Read에 해당하는 SELECT가

가장 간단해 보이지만

서브쿼리 JOIN 붙기 시작하면 가장 어렵고

UPDATE나 DELETE는 조건을 한번 설정하면

데이터가 왕창 바뀌기 때문에

위 둘을 가장 조심해야 한다

 

SQL CRUD(Create, Read, Update, Delete) 중에 뭐가 제일 어려워요?

면접 시 면접관이 하는 질문중에 특정 DB의 CRUD 혹은 create, select, update, delete 중에 뭐가 가장 어렵나요? 이런 질문이 종종 나오는데 잠시 생각에 잠겨서 create는 작성 시에 각종 제약조건을 붙일 수

wakestand.tistory.com

 

SQL CRUD중 가장 주의해야 할 문장은?

SQL CRUD(Create, Read, Update, Delete) 중에 뭐가 제일 어려워요? 면접 시 면접관이 하는 질문중에 특정 DB의 CRUD 혹은 create, select, update, delete 중에 뭐가 가장 어렵나요? 이런 질문이 종종 나오는데..

wakestand.tistory.com

시퀀스 생성

조회할때마다 값이 1씩 증가하는데

이걸 만들어서 채번할 때 사용하거나 한다

 

오라클 시퀀스 생성부터 사용법까지

오라클에서 시퀀스는 자동으로 값을 증가시켜 줄 때 사용하는데 예를 들어보자면 웹사이트에서 게시물을 작성할 시 게시물 번호가 자동으로 올라가는 것이 보일텐데 이게 바로 시퀀스를 사용

wakestand.tistory.com

!= <> ^=의 차이란?

예전에는 성능 상 <>가 가장 빠르다고 했지만

뭘 쓰던 성능 차이는 없다

 

오라클 != <> ^= 차이 정리글

오라클에서 != <> ^= 세개로 특정 값이 아닌 경우의 조건을 걸 수 있는데 SELECT * FROM TB WHERE COL <> '값' 이런 식으로 사용하게 된다 그런데 셋 중에 하나만 쓰면 되지 왜 세개나 되는거지? 성능 차이가

wakestand.tistory.com

테이블 PK 조회 추가 삭제방법

SQL 에디터로 쓰는 게 가장 편하지만

직접 쿼리쳐서 한다면 이런 방법도 있다

 

오라클 PK 조회 추가 삭제 변경방법 정리

오라클에서 PK(Primary Key)를 생성하는 방법은 다음과 같다 생성 ALTER TABLE 테이블명 CONSTRAINT 제약조건명 PRIMARY KEY (컬럼명) ENABLE; 여기서 제약조건명은 1A2B 이런 식으로 줘도 되지만 대부분은 테이..

wakestand.tistory.com

테이블 제약조건 조회방법

복붙만 해주면 테이블별 제약조건을 확인 가능하다

 

오라클 테이블 제약조건 조회방법

오라클에서 테이블 제약조건은 다음과 위 쿼리를 사용하여 확인 가능한데 AND cons.constraint_type = 'P' 부분은 특정 조건만 확인하려는 경우에 넣어주면 되고 넣는 값들은 다음과 같다 C - Check P - Prima

wakestand.tistory.com

트랜잭션이란?

트랜잭션은 작업의 한 단위를 말하는데

실제 SQL에서 COMMIT이나 ROLLBACK을 하기 전에

한 내용들이 한 트랜잭션이 되겠다

 

트랜잭션(Transaction)이 뭔말?

트랜잭션(Transaction)이란 데이터베이스의 작업 단위를 말하는데 데이터베이스에서 select, insert, update, delete 등 각종 작업을 수행한 뒤에 commit이나 rollback을 하면 그 전까지의 내용이 트랜잭션 하나

wakestand.tistory.com

명령문 실행, 스크립트 실행의 차이점

명령문 실행은 조회 결과를 그래픽으로 뽑아오는 거고

스크립트 실행은 SQL PLUS와 동일한 방식으로 뽑아온다

 

오라클 명령문 실행, 스크립트 실행 차이점 정리

오라클에서 쿼리 수행 시 CTRL + ENTER 혹은 F9를 이용해 수행하는 명령문 실행과 F5를 눌러 수행하는 스크립트 실행이 있는데 결론부터 얘기하자면 성능상 차이점은 없다 일단 명령문 실행은 그리

wakestand.tistory.com

CASCADE

특정 테이블을 삭제하면 연결된 다른 테이블도 삭제시킨다

 

오라클 cascade 사용방법 및 예제

오라클에서 cascade란 두 테이블을 연결해서 PK를 가지고 있는 쪽의 값을 삭제하면 FK로 연결된 값이 동시에 삭제되게 하는 옵션이다 예제에서는 부모 역할을 할 MOTHER_TABLE에 테이블 생성과정 중 CON

wakestand.tistory.com

ORDER BY 1,2,3 이란?

테이블의 첫번째 두번째 세번째 컬럼 기준으로 정렬을 의미한다

 

오라클 ORDER BY 1 2 3 개념 및 예제

오라클에서 ORDER BY 1, 2, 3 이런 내용을 본 적이 있었을 텐데 뭔 말인고 하면 테이블의 1,2,3번째 컬럼 기준으로 정렬하겠다는 말이다 즉 ORDER BY 1 DESC는 첫번째 열 기준으로 내림차순 정렬이라는 말

wakestand.tistory.com

날짜 차이 계산방법

TO_DATE를 이용해 날짜로 바꾼 뒤 계산해주면 된다

 

오라클 날짜 차이 계산방법

오라클에서 두 날짜의 차이를 구하는 방법인데 대부분의 DB에 날짜는 년월일과 년월일 시분초로 저장되므로 이 두개만 알아보면 된다 먼저 년월일로만 저장될 경우 현재 날짜와 비교한다면 TRUNC

wakestand.tistory.com

최대값, N번째로 큰 값 구하기

실전보다는 알고리즘 문제에서 더 많이 나온다

 

오라클 최대값 2번째로 큰 값 N번째로 큰 값 구하는 방법

위와 같은 테이블을 가지고 SAL을 기준으로 봤을 때 최대값, 2번째 최대값 3,4,5 같은 N번째 최대값을 구하는 방법을 알아보자 먼저 최대값은 SELECT MAX(컬럼명) FROM 테이블명 두번째 최대값은 SELECT MA

wakestand.tistory.com

중복 값 확인방법

GROUP BY를 이용해 중복 값을 구한뒤

해당 값들만 빼주면 된다

 

오라클 중복 값 확인방법

오라클에서 GROUP BY를 사용해주면 같은 값들을 묶을 수 있는데 여기서 COUNT(*)를 사용해 주면 해당 값이 몇개 나왔는지 확인이 가능하다 즉 COUNT를 구한 후 서브쿼리를 이용해 COUNT가 1보다 큰 값들

wakestand.tistory.com

CHAR, VARCHAR2의 차이

이거 처음 테이블 만들때 하는 실수인데

VARCHAR2는 크기에 맞추지 않아도 되지만

CHAR는 크기를 맞추지 않으면 공백으로 들어간다

 

오라클 char varchar2 비교 및 차이점

오라클에서 COMPARE_TABLE에 CHAR 타입의 CHAR_VAL 컬럼과 VARCHAR2 타입의 VARCHAR_VAL 컬럼을 생성한 뒤에 동일하게 'AAAA' 값을 삽입해 주었다 이후 데이터 길이를 확인해보면 CHAR 타입의 값은 길이가 8이고..

wakestand.tistory.com

접속계정의 세션 정보(컴퓨터명, IP, 위치 등) 구하는 방법

 

오라클 접속한 계정의 PC명, IP주소 등 세션정보 구하는 방법

오라클에서 SYS_CONTEXT를 사용하면 접속한 세션의 정보를 구할 수 있는데 유저의 계정명이나 IP주소, 국가를 구할 경우에 SYS_CONTEXT('USERENV', '값'); 이런 식으로 사용해주면 된다 예제에 사용한 쿼리

wakestand.tistory.com

조회결과 없어도 조회방법

 

오라클 조회결과 없어도 출력시키는 방법

오라클에서 일반적으로 조회 시 조회 결과가 없으면 아무 행도 출력되지 않는데 그런 상황에서도 뭔가 값을 조회시키고자 한다면 두가지 방법이 있는데 집계함수(COUNT MAX MIN SUM AVG)를 사용해 출

wakestand.tistory.com

오라클 코멘트 조회, 추가, 변경, 삭제

 

오라클 테이블 컬럼 COMMENT 입력 수정 삭제 및 조회방법 정리

오라클에서 코멘트(Comment)는 테이블이나 컬럼을 설명하기 위해 작성하는데 코멘트를 작성해 놓으면 몇달 있다가 테이블을 봐도 코멘트만 확인하면 뭔 용도로 쓰는 테이블, 컬럼인지 쉽게 파악

wakestand.tistory.com

오라클 테이블 컬럼, 타입, PK, NULL, 기본값 등 조회 쿼리

 

오라클 SELECT로 테이블 내 컬럼, 타입, PK, NULL 등 확인방법

오라클에서 여러 테이블의 컬럼, 타입, PK, NULL 등을 확인 시에 테이블 하나씩 들어가서 확인해보려면 엄청 오랜 시간이 걸리는데 해당 쿼리를 사용하면 테이블의 컬럼, 데이터타입, PK, NULL, 기본

wakestand.tistory.com

오라클 인덱스 조회쿼리

 

오라클 인덱스(INDEX) 조회 쿼리

오라클에서 인덱스 조회 시 ALL_IND_COLUMNS 테이블에 TABLE_NAME에 테이블명을 넣고 조회를 하면 인덱스명을 구할 수 있기는 한데 실제 필요한 것은 인덱스명, 인덱스 컬럼 말고도 테이블, 컬럼 코멘트

wakestand.tistory.com

최근에 수정한 PL/SQL 조회방법

 

오라클 최근에 수정한 함수, 프로시저 확인방법

USER_OBJECT 테이블을 조회하면 최근에 수정한 함수(Function), 프로시저(Procedure)를 확인할 수 있는데 SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE IN ('FUNCTION','PROCEDURE') ORDER BY LAST_DDL_..

wakestand.tistory.com

PL/SQL 안에 작성한 내용으로 검색방법

 

오라클 PL/SQL 텍스트로 검색방법

오라클 PL/SQL 안에서 특정 내용의 프로시저, 함수, 패키지를 찾으려 할 때 오라클에서는 이클립스같은 기능을 지원하지 않으므로 쿼리를 쳐서 찾는 방법밖에 없는데 위 예제와 같이 USER_SOURCE 테

wakestand.tistory.com

쿼리 수행시간 확인방법

 

오라클 쿼리 수행시간 확인방법

대부분의 SQL 에디터에는 쿼리 수행시간을 기본적으로 지원하지만 그렇지 않은 경우에는 쿼리를 수행해도 얼마나 걸렸는지 알 수가 없는데 SET TIMING ON; 을 해준 후 쿼리를 수행하면 해당 쿼리 수

wakestand.tistory.com

반응형