1. SELECT : 데이터 조회
- 테이블에서 데이터를 조회할 때 사용하는 SQL문
SELECT 칼럼명
FROM 테이블명;
2. ORDER BY : 정렬
- 정렬방식
- ASC : 오름차순 정렬 (작은 값 -> 큰 값)
- DESC : 내림차순 정렬 (큰 값 -> 작은 값)
- 정렬 1개만 하고 싶을 때
SELECT 칼럼명
FROM 테이블명
ORDER BY 컬럼명 정렬방식;
- 정렬을 2개 이상 하고 싶을 때
SELECT
FIRST_NAME, SALARY,HIRE_DATE
FROM
EMPLOYEES
ORDER BY
SALARY ASC, HIRE_DATE ASC;
-- SALARY를 먼저 1차 정렬한 후 SALARY에서 중복 값에 한해서 HIREDATE를 ASC기준으로 2차 정렬
- ORDER BY (정렬)하려는 굳이 칼럼을 SELECT 하지 않아도 정렬이 가능하다.
SELECT
FIRST_NAME, LAST_NAME
FROM
EMPLOYEES
ORDER BY
SALARY DESC;
3. DISTINCT : 중복제거
- 해당 컬럼에서 중복되는 값은 제거하여 하나만 남기도록 조회
- 1개의 컬럼 조회 시 중복제거
SELECT DISTINCT 컬럼명 FROM 테이블명;
-- 회사에 있는 모든 직급(JOB_ID)조회
-- 회사에는 직급이 같은 사람들이 많아서 중복 값이 생기기 때문에 중복 제거를 해주어 조회
SELECT DISTINCT JOB_ID FROM EMPLOYEES;
- 2개 이상의 칼럼 조회 시 중복제거
-- JOB_ID & HIRE_DATE 동시에 만족한, 둘 다 동일한 값을 가지고 있는 데이터만 중복 제거됨
SELECT DISTINCT
JOB_ID, HIRE_DATE
FROM EMPLOYEES;
JOB_ID | HIRE_DATE | 중복 | 이유 |
대리 | 2022-02-03 | o (A) | JOB_ID and HIRE_DATE 모두 중복 |
대리 | 2022-02-03 | o (A) | JOB_ID and HIRE_DATE 모두 중복 |
대리 | 2022-03-10 | x | JOB_ID 만 중복 |
인턴 | 2024-01-02 | o (B) | |
사원 | 2022-02-03 | o (C) | A와 비교했을때는 HIRE_DATE 만 중복 -> x C와 비교했을 때는 모두 중복 -> o |
사원 | 2022-02-03 | o (C) | |
인턴 | 2024-01-02 | o (B) |
4. AS : 별칭 설정
- AS 키워드와 큰 따옴표 생략가능
- 설정한 별칭에 띄어쓰기나 특수문자가 포함되어 있다면 "큰 따옴표"로 감싸줘야 한다.
- 컬럼에 별칭을 설정했다면 별칭으로 정렬(ORDER BY) 가능
-- 사원의 이름, 성, 봉급 조회
-- 봉급 기준 내림차순 정렬
-- 별명 사용
SELECT
FIRST_NAME AS "이름",
LAST_NAME 성,
SALARY "봉급",
EMPLOYEE_ID "사원 번호"
FROM
EMPLOYEES
ORDER BY
봉급 DESC;
5. 전체코드
-----------------------------------------------------------------
-- ORDER BY 절 : 정렬
-----------------------------------------------------------------
-- ASC : 오름차순, 오래된순, ABC순
-- DESC : 내림차순, 최신순, ABC역순
-- ORDER BY 컬럼명 (ASC 생략가능)
-----------------------------------------------------------------
-- 정렬 방식이 1개 일때
-----------------------------------------------------------------
-- 사원의 이름, 성, 봉급 조회
-- 봉급이 낮은 순서로
SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES ORDER BY SALARY ASC;
-- 봉급이 높은 순서로
SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES ORDER BY SALARY DESC;
-- 날짜 데이터 정렬
-- 직원의 이름, 고용일 조회 < 고용일 순서대로 정렬 >
SELECT FIRST_NAME, HIRE_DATE FROM EMPLOYEES ORDER BY HIRE_DATE ASC;
-- 문자 값 정렬
-- 직원의 이름, 성 데이터 조회 < 성 순서대로 정렬 >
SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES ORDER BY LAST_NAME ASC;
-----------------------------------------------------------------
-- 정렬 방식이 2개 일때
-----------------------------------------------------------------
SELECT
FIRST_NAME, SALARY,HIRE_DATE
FROM
EMPLOYEES
ORDER BY
SALARY ASC, HIRE_DATE ASC;
-- SALARY를 먼저 1차 정렬한 후 SALARY에서 중복 값에 한해서
-- HIREDATE를 ASC기준으로 2차 정렬
-- SALARY 데이터를 조회하지 않아도 정렬만으로도 정렬기준으로 조회하게 됨
SELECT
FIRST_NAME, LAST_NAME
FROM
EMPLOYEES
ORDER BY
SALARY DESC;
-----------------------------------------------------------------
-- DISTINCT : 중복제거
-----------------------------------------------------------------
-- 회사에 있는 모든 직급(JOB_ID)조회
-- 회사에는 직급이 같은 사람들이 많아서 중복 값이 생기기 때문에 중복 제거를 해주어 조회
SELECT DISTINCT JOB_ID FROM EMPLOYEES;
-- 여러 개의 컬럼을 조회하는데 DISTINCT 사용 시
-- -> JOB_ID & HIRE_DATE 동시에 만족한, 둘 다 동일한 값을 가지고 있는 데이터만 중복 제거됨
SELECT DISTINCT
JOB_ID, HIRE_DATE
FROM EMPLOYEES;
-----------------------------------------------------------------
-- AS: 별칭 설정
-----------------------------------------------------------------
-- AS 키워드와 큰따움표("") 생략가능
-- 설정한 별칭에 띄어쓰기나 특수문자가 포함되어있다면 "큰따음표"로 감싸줘야 한다.
-- 컬럼에 별칭을 설정했다면 별칭으로 ORDER_BY(정렬) 가능
-- 사원의 이름, 성, 봉급 조회
-- < 1. 봉급 기준 내림차순 정렬 2. 별명사용 >
SELECT
FIRST_NAME AS "이름",
LAST_NAME 성,
SALARY "봉급",
EMPLOYEE_ID "사원 번호"
FROM
EMPLOYEES
ORDER BY
봉급 DESC;
-----------------------------------------------------------------
-- [실습]
-----------------------------------------------------------------
-- EMPLOYEES 테이블에서 사원의 이름, 성, 전화번호, 이메일, 봉급을 각각 별칭을 설정하여 조회
-- 봉급 내림차순으로 조회
SELECT
FIRST_NAME 이름,
LAST_NAME 성,
PHONE_NUMBER 전화번호,
EMAIL 이메일,
SALARY 봉급
FROM
EMPLOYEES
ORDER BY
봉급 DESC;
728x90
'DBMS > Oracle SQL' 카테고리의 다른 글
DML (Data Manipulation Langauge) : 데이터 조작어 (0) | 2024.02.21 |
---|---|
DBMS SQL 자료형, 연산자 종류 (0) | 2024.02.19 |
DBMS 오라클 열기 (feat. DBeaver) (0) | 2024.02.19 |
DBMS 오라클 쿼리 작성법 (feat. DBeaver) (0) | 2024.02.16 |
Oracle DBMS 설치, DBeaver 설치 (0) | 2024.02.16 |