number => 숫자
date => 날짜
char => 한글자
varchar => 고정스트링
varchar2 => 가변 스트링
blob => 대용량 스트링
clob => 바이너리
not null => null값이 절대 들어가면 안될곳에 체크
디폴트 => 아무런 값이 들어오지 않았을때의 값
5select[컬럼]
1from[테이블]
2where[조건]
3group by[그룹기준 칼럼]
4having[그룹 조건]
6order by[정렬기준 조건]
작동순서
from -> where -> group by -> having -> select -> order by
ex)
-- 전체 데이터 확인
SELECT *
FROM EMPLOYEES e;
-- 조건 확인
SELECT *
FROM EMPLOYEES e
WHERE EMPLOYEE_ID < 110;
-- 데이터 정렬
SELECT *
FROM EMPLOYEES e
WHERE EMPLOYEE_ID < 110
ORDER BY FIRST_NAME DESC;
-- 데이터 그룹화
SELECT DEPARTMENT_ID, SUM(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID;
-- 데이터 그룹화 + 조건
SELECT DEPARTMENT_ID, SUM(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
HAVING SUM(SALARY) > 100000;
--숫자표현
--dual은 테스트용 가상 테이블이다.
SELECT 1
FROM dual;
--문자표현,
SELECT '안녀하세요'
FROM dual;
--조건 연산자
--sql에서는 '==' 이 아니라 '=' 을 사용한다
SELECT *
FROM EMPLOYEES e
WHERE FIRST_NAME ='Steven';
--연결 연산자
-- ||을 이용해서 내용을 붙인다
SELECT EMPLOYEE_ID ,FIRST_NAME || ' ' || LAST_NAME
FROM EMPLOYEES e ;
--@test.com
SELECT EMAIL || '@test.com'
FROM EMPLOYEES e ;
--SELECT문 계산
SELECT FIRST_NAME ,SALARY ,SALARY *0.1 AS Bonus
FROM EMPLOYEES e ;
--where 조건문
-- = ,<= ,!=, BETWEEN , IN , LIKE
--110~115번 직원 출력
SELECT *
FROM EMPLOYEES e
WHERE EMPLOYEE_ID >= 110
AND EMPLOYEE_ID <=115;
--IN
SELECT *
FROM EMPLOYEES e
WHERE EMPLOYEE_ID = 110
OR EMPLOYEE_ID =115
OR EMPLOYEE_ID =117;
SELECT *
FROM EMPLOYEES e
WHERE EMPLOYEE_ID IN (110,115,117);
--like
--문자열 비교시에 많이 사용한다.
SELECT *
FROM EMPLOYEES e
WHERE FIRST_NAME LIKE 'Steven';
--%문자열 일부 검색, s% 앞글자가 s인 모든데이터, like에서 사용가능
SELECT *
FROM EMPLOYEES e
WHERE FIRST_NAME LIKE 'S%';
--null 처리
SELECT FIRST_NAME ,COMMISSION_PCT
FROM EMPLOYEES e
WHERE COMMISSION_PCT IS NULL ;