구름조아

SELECT, Order by, DISTINCT, Alias, Where, Dual 본문

SQLD자격증공부/SQL기본

SELECT, Order by, DISTINCT, Alias, Where, Dual

김옹희 2023. 5. 8. 09:43

1. SELECT 문

  • 테이블내 저장된 데이터를 조회하기 위해 사용
  • 특정 행 또는 특정 컬럼을 조회 할  수 있음
SELECT 출력할컬럼명
FROM 테이블명
WHERE (키워드) 출력할 데이터 조건

2. SELECT 문법

예시 SQL)

SELECT *
FROM user
WHERE id = 'super';

User 테이블에 있는 모든 컬럼을 출력하는데, id가 super인 행만 출력해라.

 

3. SELECT 컬럼 지정방법

SELECT COL1, COL2 FROM user;

 

4. Order by

  • 오름차순 및 내림차순으로 정렬 할 수 있다.
  • 정렬은 가장 나중에 한다.
  • 정렬은 메모리를 많이 사용한다. 즉, SQL이 느려진다.
  • Oracle 에서는 SORT_AREA_SIZE를 사용하는데 이의 크기를 적절하게 관리 하여야 한다.
  • Order by 의 기본값은 오름차순(ASC)이다. (내림차순 DESC)
  • 인덱스를 사용하여 정렬과정을 회피 할 수도 있다.
SELECT * /* + INDEX_DESC(A) */
FROM user;

5. DISTINCT

  • DISTINCT는 SELECT절의 컬럼앞에 위치하며 중복을 제거한 결과를 출력한다.
  • 예컨데 아래와 같은 데이터가 있고, DISTINCT 기능을 사용하여 조회 하면 다음과 같은 결과가 출력 된다.
SELECT distinct type
FROM user;
type type
S-type S-type
A-type
C-type A-type
S-type
A-type
S-type C-type
A-tpye
C-type

6. Alias

  • Alias는 테이블명 또는 컬럼명의 길이가 길거나 복잡할때, 함수를 사용했을때 사용한다.
SELECT type as "유형"
FROM user;
type => 유형
S-type S-type
A-type A-type
C-type C-type

7. Where 절

  • Where 절은 SQL에서 조건을 줄 때 사용한다.
  • 원하는, 특정 행(튜플)만 출력하길 원할 때 사용한다.
  • 비교, 연산자, SQL 연산자
= ~ 와 같다
< ~ 보다 작다
> ~ 보다 크다
!=, <> ~ 가 아니다
Not 컬럼명 = ~ 가 아니다
Like '%문자%' '문자'가 들어간 것
Between A and B A와 B 사이
In (1,2,3) 1, 2, 3 인 것
Is not null Null이 아닌 것
Is null Null 인 것

8. Dual

  • Dual 테이블은 오라클에서 임시로 사용 할 수 있는 더미 테이블 이다.
  • 간단하게 함수를 테스트 하거나, 데이터를 테스트 할 때 사용할 수 있다.
  • 모든 사용자에게 권한이 열려 있다.
SELECT 1, 2, 3
FROM dual;