SQL Select 개요 & Desc & Distinct
Select 사용법 및 예제
해당 계정의 모든 table 확인
▶ SQL> select * from tab;
TNAME | TABTYPE | CLUSTERID |
---|---|---|
BONUS(보너스 정보) | TABLE | |
DEPT(부서 정보) | TABLE | |
EMP(직원 정보) | TABLE | |
SALGRADE(급여 등급 정보) | TABLE |
desc 테이블 구조 확인
▷ 형식) SQL> desc 테이블명
▶ SQL> desc emp
이름 | 널? | 유형 |
---|---|---|
EMPNO(사원 번호) | NOT NULL(필수 입력) | NUMBER(4) : 숫자, 4자리수 |
ENAME(사원 이름) | VARCHAR2(10) : 문자열, 10byte | |
JOB(직책/업무) | VARCHAR2(9) | |
MGR(직속상관 사원 번호) | NUMBER(4) | |
HIREDATE(입사일) | DATE : 날짜 | |
SAL(급여) | NUMBER(7,2) : 전체 7자리중에서 | |
소수점 2자리까지 표현 | ||
COMM(보너스) | NUMBER(7,2) | |
DEPTNO(부서 번호) | NUMBER(2) |
테이블 내의 모든 필드 조회
▶ SQL> select * from emp;
emp 테이블의 모든 값을 보여줌
EMPNO | ENAME | JOB | HIREDATE | SAL | COMM | DEPTNO |
---|---|---|---|---|---|---|
7369 | SMITH | CLERK | 7902 | 80/12/17 | 800 | |
7499 | ALLEN | SALESMAN | 7698 | 81/02/20 | 1600 | 300 |
중략 | ... | ... | ... | ... | ... | ... |
테이블에서 특정 필드 조회
▷ 형식) SQL> select 필드명1, 필드명2, 필드명3,,,,,,(순서 상관 X) from 테이블명
▶ SQL> select empno,ename,job from emp;
EMPNO | ENAME | JOB |
---|---|---|
7369 | SMITH | CLERK |
7499 | ALLEN | SALESMAN |
... | ... | ... |
DISTINCT
distinct : 중복된 데이터를 한 번만 출력 ex) 회사 내 직책
▷ 형식 SQL> distinct 필드명, 필드명,,,,
▶ emp테이블에서 직책의 종류만 나오도록 출력
SQL> select distinct job from emp;
JOB |
---|
CLERK |
SALESMAN |
... |
날짜 데이터 조회
※ 값은 문자형으로 저장, 범위는 숫자형으로 처리
▶ '81/02/22'이후에 입사한 직원의 이름과, 입사일을 emp테이블에서 조회
SQL> select ename,hiredate from emp where hiredate >= '81/02/22';
ENAME | HIREDATE |
---|---|
WARD | 81/02/22 |
JONES | 81/04/02 |
... | ... |
※ 별칭[가상필드]부여 : 연산 가능, 영어 데이터를 한글로 표현하는 것도 가능
-
" " : 대소문자를 구분하거나 특수기호(#, _ , $ 등), 공백을 표현하고 싶을 때 사용
-
▷ 형식) SQL> select 필드명 as 별칭명 from 테이블명 // as 생략 가능
-
▶ 예제) emp테이블에서 ename에 "사원이름", job에 '업무'라는 별칭을 지정하고,
사원 번호, 이름, 업무순으로 조회
SQL> select empno,ename as "사원이름",job 업무 from emp ;EMPNO 사원이름 업무 7369 SMITH CLERK 7499 ALLEN SALESMAN ... ... ...
select는 테이블 내의 자료를 검색/조회할 때 사용하다보니 가장 많이 쓰인다고 합니다.
구체적으로 알아두면 공부하는 데에 도움이 될 것 같습니다.