DB/Oracle

SELECT문의 기본 형식

2022. 1. 25. 20:49
목차
  1. SQL의 기본 뼈대, SELECT절과 FROM절
  2. 중복 데이터를 삭제하는 DISTINCT
  3. 별칭 설정하기
  4. ORDER BY

SQL의 기본 뼈대, SELECT절과 FROM절

 SELECT문은 데이터베이스에 보관되어 있는 데이터를 조회하는 문법이다. 기본 형식은 아래와 같다.

 

 

SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름]
FROM [조회할 테이블 이름];

 

 

 만약 테이터의 모든 열을 조회하고자 할 떄는 간단하게 *(애스터리스크)를 통해 출력할 수 있다. 

 

 

SELECT * FROM EMP;

 

 

 

 

 

사원번호, 이름, 사원이 속한 특정한 열만 출력 하고 싶다면 아래와 같이 출력하면 된다.

 

 

SELECT EMPNO, ENAME, DEPTNO
FROM EMP;

 

 

 

 

 

SELECT는 가장 많이 쓰이는 SQL문법중 하나이므로 꼭 기억하도록 하자.

 

중복 데이터를 삭제하는 DISTINCT

 데이터를 조회하다보면, 중복된 데이터가 출력될 때가 있다. 만약 중복을 원하지 않다면 DISTINCT 문법을 사용하여 데이터를 출력할 수 있다.

 

 

SELECT DISTINCT DEPTNO
FROM EMP;

 

 

 

 

 

열이 한 개일 경우 해당 열의 중복을 제거하고자 위와 같은 문법을 사용했다. 30,20,10은 중복되는 데이터인데, DISTINCT 덕분에 각각 한번 씩만 출력되고 있다.

 

 

SELECT DISTINCT JOB, DEPTNO
FROM EMP;

 

 

 

 

 

 두 개의 열에 중복을 허용하고 싶지 않다면 위와 같은 코드를 통해 결과 데이터를 얻을 수 있다. 만약 중복을 허용하면서 모든 데이터를 출력하고 싶다면 어떻게할까? DISTINCT대신 ALL을 써주면 된다.

 

 

SELECT ALL JOB, DEPTNO
FROM EMP;

 

 

 

 

별칭 설정하기

 SQL문에서는 편의성을 위해 열의 이름을 임의로 지정할 수 있다. 본래 이름 대신 붙이는 이름을 별칭(alias)라고 한다. 

 

 

SELECT ENAME, SAL, SAL*12+COMM, COMM
FROM EMP;

 

 

 

 

 열 'SAL*12+COMM' 연봉의 의미를 한눈으로 파악하기에는 어려움이 있다. 만약 annual salary(연봉)의 약어인 'ANNSAL'으로 표현한다면, 조금더 열을 파악하는 데 수월 하지 않을까? 

 

 

SELECT ENAME, SAL, SAL*12+COMM AS ANNSAL, COMM
FROM EMP;

 

'AS ANNSAL'을 사용하여 연봉인 열의 의미를 눈에 쉽게 파악할 수 있게했다. 이처럼 SQL은 열을 약어로 표현할 수 있다. 별칭을 지정하는 다양한 방식에 대해 알아보자.

 

별칭을 지정하는 방식

사용방법 설명
SAL*12+COMM ANNSAL 연산 및 가공된 문장 이후 한 칸 띄우고 별칭 지정
SAL*12+COMM "ANNSAL" 연산 및 가공된 문장 이후 한 칸 띄우고 별칭을 큰따옴표("")로 묶어 지정
SAL*12+COMM AS ANNSAL 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한 칸 뒤에 별칭 지정
SAL*12+COMM AS "ANNSAL" 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한 칸 뒤에 별칭을 큰 따옴표("")로 묶어 지정

 

 별칭을 지정하는 방시에서는 위와 같이 4가지 방식이 있다. 그중에서도 3번 째 방식 AS뒤에 별칭을 지정하는 방식이 실무에서 가장 많이 사용된다. 조회해야 할 열이 수십, 수백 개일 경우 어떤 단어가 별칭인지 알아보기 위해, 그리고 큰 따옴표를 사용하지 않으려는 프로그래머들 습관 떄문이다.

 

ORDER BY

 데이터를 조회할 때 시간, 이름, 순서 또는 다른 기준으로 원하는 순서로 데이터를 출력할 때 ORDER BY를 사용한다.

 

기본형식

SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름]
FROM [조회할 테이블 이름]
.
.
.
ORDER BY [정렬하려는 열 이름(여러 열 지정 가능)] [정렬 옵션];

 

 ORDER BY는 오름차순 혹은 내림차순을 사용할 수 있다.  

 

오름차순과 내림차순

SELECT * FROM EMP
ORDER BY SAL;

 

 

 

 오름차순을 사용할 때는 ORDER BY 다음 정렬하려는 열 이름 뒤에 'ASC' 적어준다. ORDER BY는 기본값이 오름차순이기 떄문에 'ASC'를 생략할 수 있다. 

 

 

SELECT * FROM EMP
ORDER BY SAL DESC;

 

 

 

 반대로 내림차순을 사용할 때는 정렬하려는 열 뒤에 'DESC'를 붙여준다. 단, 생략은 허용하지 않는다.

 


출처:Do it! 오라클 배우는 데이터베이스 입문(저자:이지훈, 출판사:이지스퍼블리싱)

'DB > Oracle' 카테고리의 다른 글

[오라클 함수] NULL 처리 함수  (0) 2022.02.10
[오라클 함수] 형 변환 함수  (0) 2022.02.09
[오라클 함수] 날짜 함수  (0) 2022.02.09
[오라클 함수] 문자함수  (0) 2022.02.07
WHERE절과 연산자  (0) 2022.01.27
  1. SQL의 기본 뼈대, SELECT절과 FROM절
  2. 중복 데이터를 삭제하는 DISTINCT
  3. 별칭 설정하기
  4. ORDER BY
'DB/Oracle' 카테고리의 다른 글
  • [오라클 함수] 형 변환 함수
  • [오라클 함수] 날짜 함수
  • [오라클 함수] 문자함수
  • WHERE절과 연산자
각시탈코더
각시탈코더
각시탈코더
각시탈코더
각시탈코더
전체
오늘
어제
  • 분류 전체보기 (203)
    • java (46)
      • 객체지향 (20)
      • 기본문법 (8)
      • 자바의 정석 연습문제 오답노트 (9)
      • 백준 알고리즘 (9)
    • Spring (17)
      • SpringMVC (8)
      • Spring DI와 AOP (5)
      • REST API와 Ajax (1)
      • Spring 프로젝트 (1)
      • Spring Security (0)
    • DB (47)
      • Oracle (15)
      • SQL오답노트 (25)
      • 튜닝 (0)
      • ERD (1)
      • DB 모델링 (5)
    • Servlet & JSP (3)
    • JDBC (2)
      • 기본 (1)
      • 스프링JDBC (1)
    • MyBatis (2)
    • JavaScript (2)
      • 코딩애플 (0)
      • 문법 (1)
    • React (0)
      • 코딩애플 (0)
    • HTML (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • CSS (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • Linux (0)
    • Git & GitHub (2)
      • Git (1)
    • CS (19)
      • 네트워크 (6)
      • HTTP (7)
      • 컴퓨터구조 (0)
      • 자료구조와 알고리즘 (2)
      • 기타 (4)
    • 개발설정 (2)
    • 기술면접 (0)
      • JAVA (0)
      • Spring (0)
      • DB (0)
      • 네트워크 (0)
      • 공통 (0)
    • 프로젝트 (2)
      • 게시판만들기 (2)
    • 기혁씨의 삽질표류기 (28)
    • 참고자료 (2)
      • 국비수업 (0)
      • 당당 프로젝트 (1)
    • 뉴렉처 (17)
      • 자바 (11)
      • 자바스크립트 (3)
      • 키워드 (0)
      • 숙제 (0)
      • CSS (0)
      • DB (3)
      • 서블릿 (0)
      • 스프링 (0)
      • DOM (0)
    • 내가 만든 학습그림 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 오라클
  • 쿼리
  • It
  • 에러
  • 자바의정석
  • 오류
  • 모두의네트워크
  • 배열
  • SQL
  • 스프링
  • 프로그래머스
  • 코딩
  • spring
  • 개발자
  • 객체지향
  • 웹프로그래밍
  • 알고리즘
  • db
  • Oracle
  • 뉴렉처
  • 국비수업
  • 연습문제
  • Java
  • 백준
  • 자바
  • 네트워크
  • 서브쿼리
  • 백엔드
  • 자바의정석기초편
  • 공부

최근 댓글

최근 글

hELLO · Designed By 정상우.
각시탈코더
SELECT문의 기본 형식
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.