DESC EMP;
열 이름 | 열 의미 | 데이터 종류 | 설명 |
---|---|---|---|
EMPNO | 사원 번호 | 네 자리 숫자 | EMP 테이블에서 각 사원의 데이터를 구분할 수 있는 유일한 값을 저장하는 열이며 기본키로 사용한다. |
ENAME | 사원 이름 | 10byte 크기의 가변형 문자열 | SCOTT, JONES 등 |
JOB | 사원 직책 | 9byte 크기의 가변형 문자열 | MANAGER, CLERK 등 |
MGR | 직속 상관의 사원 번호 | 네 자리 숫자 | MGR은 manager의 약어로 현재 행에 해당하는 사원의 상급자의 네 자리 사원 번호를 저장하는 열이다. |
HIREDATE | 입사일 | 날짜 데이터 | HIREDATE는 입사일을 나타내는 날짜 데이터이다. |
SAL | 급여 | 두 자리 소수점을 포함하는 입곱 자리 숫자 | 800, 600, 5000 등 |
COMM | 급여 외 추가 수당 | 두 자리 소수점을 포함하는 일곱 자리 숫자 | COMM은 commission의 약어로 월 급여 외 추가 수당을 의미한다. |
DEPTNO | 사원이 속한 부서 번호 | 두 자리 숫자 | DEPTNO는 department number의 약어이며 사원이 속해 있는 부서의 고유번호를 의미한다. |
문자열 데이터가 10byte보다 작은 공간을 차지할 경우에는 데이터가 차지하는 공간만큼만 저장 공간을 할당한다.
기억장소가 절약되는 장점이 있다.
CHAR(7)은 3byte만 사용해도 7byte 만큼의 데이터가 사용된다.
사이즈가 고정인 만큼 추후에 연산 필요성이 없어 검색 및 읽기 속도가 다른 타입보다 빠르다.
DESC DEPT;
열 이름 | 열 의미 | 데이터 종류 |
---|---|---|
DEPTNO | 부서 번호 | 두 자리 숫자 |
DNAME | 부서 이름 | 14byte 크기의 가변형 문자열 |
LOC | 부서가 위치한 지역 | 13byte 크기의 가변형 문자열 |
좌 : EMP, 우 : DEPT
SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름] 또는 애스터리스크(*)로 전체 열
FROM [조회할 테이블 이름];
SELECT *
FROM EMP;
❗문장 끝에 세미콜론(;)을 꼭 넣자.
SELECT EMPNO, ENAM
FROM EMP;
SELECT DISTINCT JOB, DEPTNO //DISTINCT DEPTNO, JOB
FROM EMP;
⭐ DISTINCT [열1 이름], [열2 이름] 순서를 바꾸면 열 출력 순서만 바뀌고 결과는 똑같다~
SELECT JOB, DEPTNO // SELECT ~~ALL~~ JOB, DEPTNO
FROM EMP; // FROM EMP;
SQL문에서는 최종 출력되는 열 이름을 임의로 지정할 수 있다.
별칭 지정하는 방식
사용 방법 | 설명 |
---|---|
SAL*12+COMM ANNSAL | 연산 및 가공된 문장 이후 한 칸 띄우고 별칭 지정 |
SAL*12+COMM “ANNSAL” | 연산 및 가공된 문장 이후 한 칸 띄우고 별칭을 큰따옴표(” “)로 묶어 지정 |
SAL*12+COMM AS ANNSAL | 연산 및 가공된 문장 이후 한 칸 띄운 후 ‘AS’, 한 칸 뒤에 별칭 지정 |
SAL*12+COMM AS “ANNSAL” | 연산 및 가공된 문장 이후 한 칸 띄운 후 ‘AS’, 한 칸 뒤에 별칭을 큰따옴표(” “)로 묶어 지정 |
좌 : 별칭 지정 ❌, 우 : 별칭 지정 ⭕벼
별칭은 가독성을 위해 사용하기도 하지만 보안이나 데이터 노출 문제 때문에 사용하는 경우도 있다.
예로 별칭을 사용하지 않으면 위와 같이 계산식 자체가 열 이름에 노출되는 경우이다.
SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름]
FROM [조회할 테이블 이름]
.
. (그 밖의 절)
.
ORDER BY [정렬하려는 열 이름(여러 열 지정 가능)] [정렬 옵션];
SELECT *
FROM EMP
ORDER BY DEPTNO ASC, SAL DESC;
SELECT *
FROM EMP
ORDER BY SAL DESC, DEPTNO; //DEPTNO ASC <-- ASC는 기본값이라 생략가능
⭐ ORDER BY절은 먼저 기입하는 것에 따라 우선순위가 부여된다.
❗정렬을 하지 않으면 더 빨리 데이터 출력이 가능하고 여러 이유로 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋다.
SELECT *
FROM EMP
WHERE ~~DEPTNO = 30;~~