오라클에서 제공하는 학습용 테이블(EMP)을 이용하여 SQL의 기초 정리하기
1. EMP(사원정보) 테이블
DESC EMP;
- DESC[RIBE] : 테이블의 컬럼 이름, 데이터 유형, 길이, NULL 허용 여부 등 테이블의 정보를 알려주는 명령어
- EMPNO : 사원번호
- ENAME : 사원이름
- JOB : 직급
- MGR : 상사의 사원번호
- HIREDATE : 입사일
- SAL : 급여
- COMM : 커미션
- DEPTNO : 부서번호
2. SELECT 열이름 FROM 테이블명
SELECT : 데이터베이스에 저장되어있는 테이블의 내용을 조회하는 명령어
SELECT 뒤에는 조회를 원하는 대상의 열 이름(column name)을
FROM 뒤에는 조회를 원하는 열이 속한 테이블의 이름을 적어준다.
예시1) EMP 테이블에 속하는 모든 열 출력
SELECT * FROM EMP;
예시2) EMP 테이블의 사원번호, 사원명, 급여 출력
SELECT EMPNO, ENAME, SAL FROM EMP;
3. SELECT 열이름 FROM 테이블명 WHERE 조건
WHERE : 특정 레코드를 조회하기 위해 조건을 설정하는 명령어
SELECT 뒤에는 조회를 원하는 대상의 열 이름(column name)을
FROM 뒤에는 조회를 원하는 열이 속한 테이블의 이름을
WHERE 뒤에는 특정 레코드를 추출하기 위한 조건을 적는다.
예시1) EMP 테이블에서 급여가 1000 이상인 사원들의 모든 정보 출력
SELECT * FROM EMP WHERE SAL >= 1000;
예시2) EMP 테이블에서 직급이 MANAGER인 사원들의 사원번호, 이름, 입사일을 출력
SELECT EMPNO, ENAME, HIREDATE FROM EMP WHERE JOB = 'MANAGER';
3-1. 조건절 연산자
< 산술 연산자 >
연산자 | 뜻 | 활용 예시 |
+ | 더하기 | SELECT SAL + 500 FROM EMP; |
- | 빼기 | SELECT SAL - 500 FROM EMP; |
* | 곱하기 | SELECT SAL * 12 FROM EMP; |
/ | 나누기 | SELECT SAL / 2 FROM EMP; |
< 비교 연산자 >
연산자 | 뜻 | 활용 예시 |
= | 같다 | SELECT * FROM EMP WHERE SAL = 3000; |
> | ~보다 크다 | SELECT * FROM EMP WHERE SAL > 3000; |
>= | ~보다 크거나 같다 | SELECT * FROM EMP WHERE SAL >= 3000; |
< | ~보다 작다 | SELECT * FROM EMP WHERE SAL < 3000; |
<= | ~보다 작거나 같다 | SELECT * FROM EMP WHERE SAL <= 3000; |
<>, != | 같지 않다. | SELECT * FROM EMP WHERE SAL <> 3000; |
< 논리 연산자 >
연산자 | 뜻 | 활용 예시 |
AND | 제시된 조건을 모두 만족하는 경우 |
SELECT * FROM EMP WHERE SAL > 2000 AND DEPTNO = 30; -- 급여가 2000 이상이며 부서번호가 30인 데이터 선택 |
OR | 제시된 조건 중 하나라도 만족하는 경우 |
SELECT * FROM EMP WHERE SAL > 2000 OR DEPTNO = 30; -- 급여가 2000 이상이거나 부서번호가 30인 데이터 선택 |
NOT | 조건에 해당 되지 않는 경우 | SELECT * FROM EMP WHERE NOT DEPTNO = 30; -- 부서번호가 30이 아닌 데이터 선택 |
< BETWEEN AND / IN >
연산자 | 뜻 | 활용 예시 |
BETWEEN A AND B | A 이상 B 이하 | SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 3000; -- 급여가 2000 이상, 3000 이하인 데이터 선택 |
IN(A,B,C) | A, B, C 에 포함 | SELECT * FROM EMP WHERE DEPTNO IN(10, 30) -- 급여가 부서번호가 10, 30에 포함되는 데이터 선택 |
4. SELECT 열이름 FROM 테이블명 WHERE 조건 ORDER BY 정렬기준
ORDER BY: 지정한 열을 기준으로 정렬 방식에 따라 정렬시키는 명령어
SELECT 뒤에는 조회를 원하는 대상의 열 이름(column name)을
FROM 뒤에는 조회를 원하는 열이 속한 테이블의 이름을
WHERE 뒤에는 특정 레코드를 추출하기 위한 조건을
ORDER BY 뒤에는 정렬 기준이 되는 열과 정렬 방식을 적는다.
ACS(오름차순) /기본값 | DESC(내림차순) | |
숫자 | 작은 값부터 정렬 | 큰 값부터 정렬 |
문자 | 사전 순서대로 정렬 | 사전 순서의 반대대로 정렬 |
날짜 | 이른 날짜 순으로 정렬 | 늦은 날짜 순으로 정렬 |
NULL | 가장 마지막에 위치 | 가장 처음에 위치 |
'데이터베이스 > Oracle' 카테고리의 다른 글
[Oracle] sys 비밀번호 변경 (0) | 2022.12.03 |
---|---|
[ORACLE] ERD 출력 (0) | 2021.06.24 |
[Oracle] 데이터 무결성 제약 조건 (0) | 2021.04.12 |