
DBeaver 사용

위와 같이 테이블 형식 정보가 담겨 있는 KH 파일을 DBeaver에서 실행시키면 테이블 형식의 데이터가 나타난다

이후 sql 편집기를 통해 테이블의 데이터를 조회할 수 있다.
SELECT (DML 또는 DQL) : 조회
-데이터를 조회(SELECT) 하면 조건에 맞는 행들이 조회됨
이 때 조회된 행들의 집합을 RESULT SET(조회결과의 집합) 이라고 함
-RESULT SET은 0개 이상의 행을 포함할 수 있다.(조건에 맞는 행이 없으면 0개)
작성법
--SELCET 컬럼명 FORM 테이블명 -> 어떤 테이블의 특정 컬럼을 조회하겠다
실행 : Ctrl+enter -> 해당 커서의 문장 실행
전체 실행 : Alt + enter
예시
SELECT * FROM EMPLOYEE;
-- EMPLOYEE 테이블에서 전부(*) 를 조회하겠다
SELECT EMP_ID, EMP_NAME, PHONE FROM EMPLOYEE;
--EMPLOYEE 테이블에서 사번,이름,휴대전화 를 조회하겠다
SELECT 절 : SELECT 컬럼명 ->3번 순서로 실행
FROM 절 : FROM 테이블명 ->1번 순서로 실행
WHERE절(조건절) : WHERE 컬럼명 연산자 값; ->2번 순서로 실행
ORDER BY 컬럼명 | 별칭 | 컬럼 순서[ASC|DESC][NULLS FIRST | LAST] -> 4번 순서로 실행
EX) EMPLOYEE 테이블에서 급여가 300만원 초과인 사원의 사번,이름,급여,부서코드 조회
SELECT EMP_ID, EMP_NAME, SALARY, DEPT_CODE
FROM EMPLOYEE
WHERE SALARY >3000000;
EX) BETWEEN A AND B 구문 사용
SELECT EMP_ID, EMP_NAME, SALARY, PHONE
FROM EMPLOYEE
WHERE SALARY BETWEEN 3000000 AND 6000000;
==============================================
LIKE : 비교하려는 값이 특정한 패턴을 만족시키면 조회하는 연산자
WHERE 컬럼명 LIKE '패턴이 적용된 값'
->EMPLOYEE 테이블에서 성이 '전'씨인 사원의 사번,이름 조회
SELECT EMP_ID, EMP_NAME
FROM EMPLOYEE
WHERE EMP_NAME LIKE '전%';
EX) EMAIL에서 _앞의 글자가 세글자인 사원
SELECT EMP_NAME,EMAIL
FROM EMPLOYEE
WHERE EMAIL LIKE '____%';
->이렇게 쓰면 인식 못함, ESCAPE 문자 #,^ 써야됨

예제
이메일 '_' 앞이 4글자이면서 부서코드가 'D6'또는'D9'이고
입사일이 1990-01-01~2000-12-31 이고
급여가 270만원 이상인 사원의
사번,이름,이메일,부서코드,입사일,급여 조회
SELECT EMPID, EMP_NAME ,EMAIL, DEPT_CODE, HIRE_DATE , SALARY
FROM EMPLOYEE
WHERE EMAIL LIKE '____#%' ESCAPE'#' AND (DEPT_CODE='D9'OR DEPT_CODE='D6')
AND (HIRE_DATE BETWEEN '1990-01-01' AND '2000-12-31') AND SALARY >= 2700000;
**AND 가 OR 보다 연산자 우선순위가 높아서 OR 구문에 괄호처리 해 줘야함
IN 연산자
비교하려는 값과 목록에 있는 값 중 일치하는 것이 있으면 조회
[작성법]
WHERE 컬럼명 IN (값1,값2,값3...)
WHERE 컬럼명 = '값'
OR 컬럼명 = '값2'
OR 컬럼명 = '값3';
예제
SELECT EMP_ID, EMP_NAME, DEPT_CODE
FROM EMPLOYEE
WHERE DEPT_CODE IN('D1','D6','D9');
SELECT EMP_ID, EMP_NAME, DEPT_CODE
FROM EMPLOYEE
WHERE DEPT_CODE NOT IN('D1','D6','D9');
-> 이렇게 하면 부서코드가 NULL 인 사람은 둘 다 조회되지 않음
-> 밑에 OR DEPT_CODE IS NULL 붙여줘야됨
======================================
DB에서 NULL : 컬럼에 값이 없음을 의미
1) IS NULL : NULL인 경우 조회
2) IS NOT NULL : NULL 이 아닌 경우 조회
========================================
ORDER BY 절
SELECT문의 조회 결과를 정렬할 때 사용
SELECT 문 해석 시 가장 마지막에 해석!
예제
SELECT EMP_ID, EMP_NAME, SALARY
FROM EMPLOYEE
ORDER BY SALARY -- ASC(오름차순)이 기본값