SELECT(조회), ORDER BY(정렬), DISTICT(중복제거), AS(별칭)

2024. 2. 19. 12:58 · DBMS/Oracle SQL

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
'DBMS/Oracle SQL' 카테고리의 다른 글
  • DML (Data Manipulation Langauge) : 데이터 조작어
  • DBMS SQL 자료형, 연산자 종류
  • DBMS 오라클 열기 (feat. DBeaver)
  • DBMS 오라클 쿼리 작성법 (feat. DBeaver)
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    react
    AI역량검사
    취업
    파이썬
    빅데이터분석
    파이썬{}
    이름나이
    Oracle
    Py
    대외활동
    importturtle
    dbms
    취업준비
    print(f"")
    파이썬 챗봇 만들기
    python
    티스토리챌린지
    jsx
    리액트
    js
    오블완
    input
    오라클SQL
    자료형
    주석
    javascript
    대학생학회
    BDA학회
    자바스크립트
    sql
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
SELECT(조회), ORDER BY(정렬), DISTICT(중복제거), AS(별칭)
상단으로

티스토리툴바