SELECT
조회
*
모든, 전부 다
SELECT * FROM DEPARTMENT;
DEPARTMENT 테이블에 있는 모든 행 조회
컬럼 값 산술 연산
더하기, 빼기만 가능
SELECT EMP_ID, EMP_NAME, SALARY, SALARY + 1000000
FROM EMPLOYEE;
오늘 날짜 조회
SELECT SYSDATE FROM DUAL;
SYSDATE : 시스템상의 현재 날짜
(년,월,일,시,분,초 단위까지 표현 가능하지만, 디벨로퍼의 날짜 표기 방법이 년/월/일로 지정되어 있는 것이다.)
DUAL(DUmmy tAbLe) : 가짜 테이블 (임시 테이블, 단순 조회 테이블)
☆ DB는 날짜 데이터의 연산(+,-)이 가능하다 (일 단위로) ☆
별칭
- 컬럼명 AS 별칭 : 띄어쓰기X, 특수문자X, 문자O
- 컬럼명 별칭 : 1번에서 AS 생략만 한 것
- 컬럼명 AS "별칭" : 띄어쓰기O, 특수문자O, 문자O
- 컬럼명 "별칭" : 3번에서 AS 생략만 한 것
SELECT EMP_ID AS 사번,
EMP_NAME 이름,
SALARY AS "급여(원)",
SYSDATE - HIRE_DATE "근무 일수"
FROM EMPLOYEE;
리터럴
값 자체
- DB에서의 리터럴 : 임의로 지정한 값을 기존 테이블에 존재하는 값처럼 사용한다.
- 리터럴 표기법 : ' ' (홑따옴표)
SELECT EMP_NAME, SALARY, '원' AS 단위
FROM EMPLOYEE;
DISTINCT
조회 시 컬럼에 포한된 중복 값을 한 번만 표시할 때 사용
- DISTINCT는 SELECT문에 딱 한번만 작성할 수 있다.
- DISTINCT는 SELECT문 가장 앞에 작성되어야 한다
SELECT DISTINCT DEPT_CODE, EMP_NAME FROM EMPLOYEE;
WHERE절
테이블에서 조건을 충족하는 값을 가진 행만 조회하고자 할 때 사용
- 비교 연산자 : >, <, >=, <= = (같다), !=, <> (같지 않다)
코드가 해석되는 순서
/*3*/SELECT EMP_ID, EMP_NAME, SALARY, DEPT_CODE
/*1*/FROM EMPLOYEE;
/*2*/WHERE SALARY > 3000000;
- EMPLOYEE 테이블에서 급여가 3백만원 초과인 직원의
- 사번, 이름, 급여, 부서코드를 조회
논리 연산자 (AND, OR)
SELECT EMP_NAME, SALARY, DEPT_CODE
FROM EMPLOYEE
WHERE SALARY >= 2000000
AND DEPT_CODE = 'D6';
SELECT EMP_ID, EMP_NAME, DEPT_CODE
FROM EMPLOYEE
WHERE DEPT_CODE = 'D6'
OR DEPT_CODE = 'D9';
BETWEEN
A이상 B이하
SELECT EMP_ID, EMP_NAME, SALARY
FROM EMPLOYEE
WHERE SALARY BETWEEN 3000000 AND 5000000;
- BETWEEN을 이용한 날짜 비교
SELECT EMP_ID, EMP_NAME, HIRE_DATE
FROM EMPLOYEE
WHERE HIRE_DATE BETWEEN '1990-01-01' AND '1999-12-31';
- EMPLOYEE 테이블에서
- 입사일이 1990/01/01 ~ 1999/12/31 (90년도 입사자들)
- 인 직원의 사번, 이름, 입사일 조회
'1990/01/01'같이 날짜를 문자열 형식으로 작성하게 되면 DB가 알아서 판단하여 날짜타입(DATE)형으로 형변환 진행함.
NOT BETWEEN
A미만 B초과
SELECT EMP_ID, EMP_NAME, SALARY
FROM EMPLOYEE
WHERE SALARY NOT BETWEEN 3000000 AND 5000000;
'Programming language > SQL' 카테고리의 다른 글
SQL - 06 DML (0) | 2022.04.09 |
---|---|
SQL - 05 JOIN (0) | 2022.04.09 |
SQL - 04 GROUP BY & SET OPERATION (0) | 2022.04.09 |
SQL - 03 함수 (0) | 2022.04.09 |
SQL - 02 SELECT(2) (0) | 2022.04.09 |