180103 SQL 명령문과 키워드 - RYUDONGJIN/Memo_wiki GitHub Wiki

데이터 딕셔너리

  • 테이블의 정보를 알려주는 데이터 딕셔너리

SELECT * FROM TAB;

  • 테이블 구조를 살펴보는 DESC : 테이블의 구조를 확인하는 명령어

DESC[RIBE] 테이블명;

  • 데이터가 null인 경우 대체할 숫자를 적어주는 함수 : NVL(var, int)

NVL(comm, 0)

  • 별칭 부여 : AS

SELECT ename, sal*12+nvl(comm, 0) AS AnnSal FROM emp;

  • " "로 별칭 부여 : 대소문자를 구별하고 공백과 특수문자 포함가능

SELECT ename, sal*12+nvl(comm, 0) "AnnSal" FROM emp;

  • Concatenation : 여러 개의 컬럼을 연결할 때 사용 "||"

SELECT ename || ' is a ' || job FROM emp;

  • DISTINCT : 중복되는 컬럼을 한번씩만 출력하기 위해서 쓰는 키워드

SELECT distinct deptno FROM emp;

  • 비교 연산자 : 다르다.

<>, !=, ^=

논리 연산자 : AND OR NOT

  • AND : 두 가지 조건을 모두 만족해야만 검색.

SELECT * FROM emp WHERE deptno=10 AND job='MANAGER';

  • OR : 두 가지 조건 중에서 한가지만 만족하더라고 검색

SELECT * FROM emp WHERE deptno=10 OR job='MANAGER';

  • NOT : 조건에 만족하지 못하는 것만 검색

SELECT * FROM emp WHERE NOT deptno=10; ( SELECT * FROM emp WHERE deptno<>10;

  • BETWEEN A AND B : 특정 범위의 값을 조회하기 위한 연산자. 숫자형과 문자형, 날짜형에도 사용 가능. 비교 대상이 되는 값에 단일 따옴표

SELECT * FROM emp WHERE sal BETWEEN 2000 AND 3000; SELECT * FROM emp WHERE hiredate between '1987/01/01' and '1987/12/31';

  • IN : 동일한 필드가 여러 개의 값 중에 하나인 경우인지를 살펴보기 위해서 사용하는 연산자

SELECT * FROM emp WHERE comm IN(300, 500, 1400);

  • LIKE : 검색하고자 하는 값을 정확히 모를 경우에도 검색을 가능하도록 하기 위해서 와일드카드와 함께 사용한다.
  • % : 문자가 없거나, 하나 이상의 문자가 어떤 값이 와도 상관없음.

SELECT * FROM emp WHERE ename like 'F%'; SELECT empno, ename FROM emp WHERE ename LIKE '%K%';

  • _ : 하나의 문자가 어떤 값이 와도 상관없음(단 한글자만 허용)

SELECT * FROM EMP WHERE ename LIKE '_A%';

  • IS NULL / IS NOT NULL : 어떤 컬럼을 NULL 즉, 모르는 값과 같다(=)라는 것은 의미상으로 말이 되지 않기 떄문에 = 대신 IS NULL연산자 사용, 조건절에 사용되면 대상 컬럼과 연산자, 비교할 값 세부분으로 구성

SELECT * FROM emp WHERE comm is NULL;

  • ASC : 오름차순 정렬 // DESC : 내림차순 정렬

SELECT empno, ename, job, hiredate FROM emp ORDER BY hiredate ASC;