SQL 기초 (1) 데이터 타입 및 출력방법 (결과 값 존재)
※ 데이터 타입
1) 숫자형 : NUMBER(p, s) * 표준은 아님, 보통 많이 쓰임
2) 문자형 데이터 타입 : CHAR(s), NCHAR(s), VARCHAR(s), NVARCHAR(s) *s는 숫자
3) 날짜형 데이터 타입 : DATE, TIMESTAMP, INTERVAL
- DATE : 고정된 7바이트 할당, 크기 지정X
- TIMESTAMP : DATE의 확장형
[날짜형 데이터 타입 예시 및 결과]
1
|
SELECT SYSDATE, SYSTIMESTAMP FROM DUAL;
|
cs |
※ SELECT 절 문법
- SELECT [DISTINCT] [조회할 열1이름] [열2이름] [열3이름] ...
FROM [조회할 테이블 이름];
- DISTINCT : 생략 가능, 마지막은 항상 ; 붙이기(자바와 동일)
- 명령어나 객체 이름 등의 대소문자를 구분하지 않으나 인스턴스 값들을 구분함
(보통 입력 시 대문자를 많이 사용)
※ 데이터 전체 검색하기
- *로 테이블 전체 열 출력하기
[예시]
1
|
SELECT * FROM Employees;
|
cs |
※ 데이터 부분 검색하기
1) 데이터 부분 열 출력하기
- Employee 테이블의 사원번호, 사원 성, 이메일, 고용날짜 조회
1
2
|
SELECT EMPLOYEE_ID, LAST_NAME, EMAIL, HIRE_DATE
FROM Employees;
|
cs |

2) all로 중복되는 열 제거 없이 출력하기(이름, 핸드폰번호)
1
|
SELECT ALL FIRST_NAME, PHONE_NUMBER FROM Employees;
|
cs |
3) 중복 데이터를 삭제하는 경우 (열이 1개)
1
|
SELECT DISTINCT FIRST_NAME FROM Employees;
|
cs |
4) 중복 데이터를 삭제하는 경우(열이 여러 개)
1
|
SELECT DISTINCT LAST_NAME, HIRE_DATE FROM Employees;
|
cs |
※ 열에 새로운 값 추가해서(AS 입력하고 싶은 이름) 출력하기(계산식)
- 직업 ID, 임금, 연봉 5%인상 추가
1
2
|
SELECT JOB_ID, SALARY, SALARY*12+SALARY*0.005 AS "연봉 5%인상"
FROM Employees;
|
cs |
※ 순서대로 정렬하기(ORDER BY - 기본적으로 오름차순(ASC), 내림차순(DESC) 지정해야 함
- 임금을 기준으로 내림차순(1)
- 오름차순 내림차순 동시에 사용 가능(2) : 직업 ID 오름차순, 임금 내림차순
1
2
|
//(1)
SELECT SALARY FROM Employees ORDER BY SALARY DESC;
//(2) SELECT * FROM Employees ORDER BY JOB_ID ASC, SALARY DESC; |
cs |
※ 필요한 데이터만 출력하기 - WHERE문 붙이기
- 부서 번호가 100인 사원들의 데이터 출력하기
1
2
|
SELECT * FROM Employees
WHERE department_id = 100;
|
cs |