오라클 데이터베이스는 기본 학습을 위한 테이블과 데이터가 미리 구현되어 있는 SCOTT 계정을 제공한다.
scott계정에는 oracle 구문을 연습할 수 있도록 여러개의 테이블과 데이터가 삽입되어 있는 계정이다.
DESC EMP;

DESC DEPT;



열 단위로 데이터를 조회하는 방식

SELECT문은 데이터베이스에 보관되어 있는 데이터를 조회하는데 사용
SELECT 조회할 컬럼, 컬럼2 ... FROM 테이블명;**로 전체 열을 지정
실행⬇

👩🏫참고
DML(Data Manipulation Language): 데이터 조작어 - INSERT, UPDATE, DELETE
- DQL(Data Query Language): 데이터 질의어 - SELECT: 쿼리
SELECT [ALL|DISTINT] 조회할 컬럼1, 컬럼2 ... FROM 테이블명;
ALL: 기본값, 따로 작성하지 않아도 된다.
ALL: 데이터 중복을 제거하지 않고 그대로 출력

DISTINCT: 중복 제거하고 조회
SELECT DISTINCT JOB, DEPTNO FROM EMP;
참고) SQL 주석
--
한줄 실행하고 싶을때 드래그하고 or 마우스 커서 해당 줄에 두고 ctrl + enter
--SQL 내에서 연산 가능/ 연봉 출력 SAL * 12
SELECT EMPNO, ENAME, JOB, SAL * 12 FROM EMP;
컬럼명 AS "별칭""" 생략가능 -> 단어로만 구성된 경우(중간에 띄어쓰기가 있으면 생략 불가) ex) "연봉 출력"SELECT E.EMPNO, E.ENAME, E.JOB, E.SAL * 12 연봉 FROM EMP E; 
SELECT EMPNO, ENAME, JOB, SAL * 12 "연봉" FROM EMP;
SELECT EMPNO, ENAME, JOB, SAL * 12 연봉 FROM EMP;
AS: alias의 약자
원하는 순서로 출력 데이터를 정렬하는 ORDER BY
오름차순: ORDER BY 컬럼명 ASC
- ASC 생략 가능
- ORDER BY 컬럼명

내림차순: ORDER BY 컬럼명 DESC

ORDER BY 컬럼1 DESC, 컬럼2 DESC
-> 1차 정렬 - 컬럼1의 내림차순, 컬럼1에 같은 값인 경우 -> 컬럼2 내림차순 2차 정렬 ...

⚠주의 사항⚠
ORDER BY절을 사용할 때 주의 사항
ORDER BY절을 사용한 정렬은 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋습니다. 여기저기 흩어져 있는 데이터를 특정 기준에 따라 가지런히 순서를 맞추는 것은 많은 자원, 즉 비용을 소모하기 때문입니다. 특정 기준에 따라 두 개 데이터를 정렬하는 시간보다 열 개 데이터를 정렬하는 데에 시간이 더 많이 필요합니다.
ORDER BY절이 존재할 경우 SELECT문을 통해 조회할 데이터를 모두 확정한 상태에서 ORDER BY절의 명시된 기준에 따라 정렬합니다. 이때 데이터의 양 또는 정렬 방식에 따라 출력 데이터를 선정하는 시간보다 정렬하는 데 시간이 더 걸릴 수도 있습니다. 즉 정렬을 하지 않으면 결과를 더 빨리 출력할 수 있다는 이야기 입니다.
SQL문의 효율이 낮아지는 것은 서비스 응답 시간이 느려진다는 것을 뜻합니다. 따라서 정렬이 꼭 필요한 경우가 아니라면 ORDER BY절을 넣지 않도록 주의하세요.