일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ie모드 해제
- 한글 기호 자동변환 해제
- 윈도우 10 슬라이드 종료 단축키 만들기
- 토익 lc 학습법
- 롤오버 기간을 설정한 비밀번호 마이그레이션 방법
- 삼성멀티캠퍼스SQL
- 헤드퍼스트SQL
- 복사 단축키
- 레드햇 버전확인
- 부자의 그릇 요약
- 금리와 물가와의 상관관계
- 무료 이미지 제공 사이트
- AIX 버전확인
- 업무에 바로 쓰는 SQL
- AIX NAS NFS
- 잘라내기 단축키
- 스타워즈 영화 감상 순서
- 오라클DB팁
- 작업표시줄 먹통현상 해결하기
- POP폰트
- 윈도우 10 프리징 해결하기
- 바탕화면에 원격 데스크톱 연결 바로가기 만들기
- 엑셀에서 콤마를 제외한 숫자 개수 세기
- 붙여넣기 단축키
- 메타버스 용어
- net user 사용법
- OpenSSL 업데이트
- javascript redirection code
- 윈도우10 먹통현상 해결하기
- AIX NFS
- Today
- Total
Today is Present.
오라클 기본 SQL 구문 본문
SCOTT 계정으로 접속하여 DESC 명령어를 사용해 EMP, DEPT, SALGRADE 테이블의 구성을 확인
사원 정보가 들어 있는 EMP 테이블
DESC EMP;
회사 부서 정보가 들어 있는 DEPT 테이블
DESC DEPT;
사원들의 급여 정보가 들어 있는 SALGRADE 테이블
DESC SALGRADE;
EMP 테이블 전체 열 조회하기
SELECT * FROM EMP;
DISTINCT로 열 중복 제거하기
SELECT DISTINCT DEPTNO FROM EMP;
ALL로 중복되는 열 제거 없이 그대로 출력하기
SELECT ALL JOB, DEPTNO FROM EMP;
열에 연산식을 사용하여 출력하기
SELECT ENAME, SAL, SAL*10+COMM, COMM FROM EMP;
별칭(alias)을 지정하는 방식
① SAL*12+COMM ANNSAL
② SAL*12+COMM "ANNSAL"
③ SAL*12+COMM AS ANNSAL
④ SAL*12+COMM AS "ANNSAL"
별칭을 사용하여 사원의 연간 총 수입 출력하기
SELECT ENAME, SAL, SAL*12+COMM AS ANNSAL, COMM FROM EMP;
EMP 테이블의 모든 열을 급여 기준으로 오름차순(기본값) ↔ 내림차순 정렬하기
SELECT * FROM EMP ORDER BY SAL; ↔ SELECT * FROM EMP ORDER BY SAL DESC;
EMP 테이블의 전체 열을 부서 번호(오름차순)와 급여(내림차순)로 정렬하기
SELECT * FROM EMP ORDER BY DEPTNO ASC, SAL DESC;
EMP 테이블의 모든 열 출력하기
SELECT * FROM EMP;
부서 번호가 30인 데이터만 출력하기
SELECT * FROM EMP WHERE DEPTNO = 30;
AND 연산자로 여러 개의 조건식 사용하기
SELECT * FROM EMP WHERE DEPTNO = 30 AND JOB = 'SALESMAN';
OR 연산자로 여러 개의 출력 조건 사용하기
SELECT * FROM EMP WHERE DEPTNO = 30 OR JOB = 'CLERK';
곱셈 산술 연산자를 사용한 예
SELECT * FROM EMP WHERE SAL * 24 = 72000;
대소 비교 연산자를 사용하여 출력하기
SELECT * FROM EMP WHERE SAL >= 5000;
문자를 대소 비교 연산자로 비교하기(비교 문자열이 문자 하나일 때)
SELECT * FROM EMP WHERE ENAME >= 'F';
문자열을 대소 비교 연산자로 비교하기(비교 문자열이 문자 여러 개일 때)
SELECT * FROM EMP WHERE ENAME <= 'FORZ';
등가 비교 연산자(!=)를 사용하여 출력하기 # 같지 않다( !=, <>, ^= )
SELECT * FROM EMP WHERE SAL != 5000;
등가 비교 연산자(<>)를 사용하여 출력하기
SELECT * FROM EMP WHERE SAL <> 5000;
등가 비교 연산자(^=)를 사용하여 출력하기
SELECT * FROM EMP WHERE SAL ^= 5000;
NOT 연산자를 사용하여 출력하기
SELECT * FROM EMP WHERE NOT SAL = 50000;
OR 연산자를 사용하여 여러 개 조건을 만족하는 데이터 출력하기
SELECT * FROM EMP WHERE JOB = 'MANAGER' OR JOB = 'SALESMAN' OR JOB = 'CLERK';
IN 연산자를 사용하여 출력하기
SELECT * FROM EMP WHERE JOB IN ('MANAGER', 'SALESMAN', 'CLERK');
IN 연산자와 논리 부정 연산자를 사용하여 출력하기
SELECT * FROM EMP WHERE JOB NOT IN ('MANAGER', 'SALESMAN', 'CLERK');
BETWEEN A AND B 연산자를 사용하여 출력하기
SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 3000;
BETWEEN A AND B 연산자와 NOT 연산자를 사용하여 출력하기
SELECT * FROM EMP WHERE SAL NOT BETWEEN 2000 AND 3000;
LIKE 연산자 사용하여 출력하기
SELECT * FROM EMP WHERE ENAME LIKE 'S%';
사원 이름의 두 번째 글자가 A인 사원만 출력하기
SELECT * FROM EMP WHERE ENAME LIKE '_A%';
사원 이름에 MS이 포함되어 있는 사원 데이터만 출력하기
SELECT * FROM EMP WHERE ENAME LIKE '%MS%';
LIKE 문을 사용하여 데이터 앞에 M_S 문자를 가지고 있는 데이터를 찾으려면
SELECT * FROM EMP WHERE ENAME LIKE '%M\_S%' ESCAPE '\';
IS NULL 연산자를 사용하여 출력하기
SELECT * FROM EMP WHERE COMM IS NULL;
집합 연산자(UNION)를 사용하여 출력하기 # 합집합 연산자
SELECT EMPNO, ENAME, SAL, DEPTNO, FROM EMP WHERE DEPTNO = 10
UNION
SELECT EMPNO, ENAME, SAL, DEPTNO, FROM EMP WHERE DEPTNO = 20
종류 | 설명 |
UNION | 연결된 SELECT문의 결과 값을 합집합으로 묶어 줍니다. 결과 값의 중복은 제거 |
UNION ALL | 연결된 SELECT문의 결과 값을 합집합으로 묶어 줍니다. 중복된 결과 값도 제거 없이 모두 출력 |
MINUS | 먼저 작성한 SELECT문의 결과 값 중 다음 SELECT 문에 존재하지 않는 데이터만 출력 |
INTERSECT | 먼저 작성한 SELECT문과 다음 SELECT문의 결과 값이 같은 데이터만 출력(교집합 개념) |
SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP
INTERSECT
SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO = 10;
연산자 우선순위
우선순위 | 연산자 | 설명 |
↑ | *, / | 곱하기, 나누기 |
(높음) | + - | 더하기, 빼기 |
=, !=, ^=, <>, >, >=, <, <= | 대소 비교 연산 | |
IS NULL, LIKE, IN | 그 외 비교 연사자 | |
BETWEEN A AND B | BETWEEN 연산자 | |
NOT | 논리 부정 연산자 | |
(낮음) | AND | 논리 연산자 AND |
↓ | OR | 논리 연산자 OR |
EMP 테이블을 복사해서 EMP_TEMP 테이블 만들기
CREATE TABLE EMP_TEMP
AS SELECT *
FROM EMP
WHERE 1 <> 1;
SELECT * FROM EMP_TEMP;
# 급하게 테이블을 복사해야 할 때
CREATE 명령어는 EMP 테이블과 같은 열 구조를 가지지만 데이터는 복사하고 싶지 않을 때 종종 사용합니다.
WHERE 절의 조건이 1 <> 1 이기 때문에 각 행을 조건식에 대입한 결과 값은 항상 false 가 되어
결과적으로 행은 만들어지지 않습니다.
'DBMS - 오라클(Oracle)' 카테고리의 다른 글
업무에 바로 쓰는 SQL(삼성멀티캠퍼스) 2일차 (0) | 2021.02.03 |
---|---|
업무에 바로 쓰는 SQL (삼성멀티캠퍼스) 1일차 (0) | 2021.02.03 |
데이터처리와 가공을 위한 오라클 기본 함수 (0) | 2021.02.03 |
오라클 데이터베이스 접속 및 SCOTT 계정 설정 (0) | 2021.02.03 |
데이터베이스에서 알아야할 최소한의 기본용어 (0) | 2020.11.30 |