메뉴 건너뛰기

2016.12.23 18:19

DISTINCT와 ALL

조회 수 5498 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

DISTINCT와 ALL

select 문을 사용할 경우에 한가지 알아야 할것!

SELECT * FROM TEST;

이 select문은 사실 다음과 같다.

SELECT ALL * FROM TEST;

다시말해 ALL이라는 단어가 생략되어 있다. 기본값이 ALL이기 때문에 안써주어도 상관없고 대부분 사용하지 않는다.

ALL대신 올수 있는 명령어는 DISTINCT가 있다.

SELECT DISTINCT * FROM TEST;

DISTINCT란?

중복되는 데이터가 있을 경우 한번만 조회가 되도록 하라는 의미.
여기서 중복된다는 의미는 1건의 데이터를 기준으로 다른건의 데이터가 모두 같을 경우를 말한다.
따라서 select 이후 컬럼이 한개면 이 컬럼 하나만 중복되는 데이터가 있을 경우에 중복된다고 할 수 있지만
"select * "을 했다면 모든 컬럼의 데이터가 일치 할 경우에만 중복되는 경우이다.

이해가 잘 안된다면~ 상황을 보자!

다음과 같은 TEST 테이블이 있다.

 

 NO

NAME 

MEMO 

 1

sunny

 4

 kangin

 M

 5

 taehee

 F

 6

 insung

 M

 2

 minwoo

 M

 3

 hyekyo

 F

select * from TEST;

select distinct * from TEST;

이 두 쿼리의 결과는 같다. NO, NAME, MEMO 세가지 모두가 같은 값을 가진 열은 존재 하지 않기 때문이다.

결과 =>

NO          NAME       MEMO               
----------- ---------- --------------------
          5 taehee     F                  
          1 sunny      F                  
          3 hyekyo     F                  
          2 minwoo     M                  
          6 insung     M                  
          4 kangin     M     

6 rows selected.

그렇다면 중복되는 컬럼이 있는 MEMO를 검색해보자.

select distinct MEMO from TEST;

결과 =>

MEMO               
--------------------
M                  
F             

2 rows selected.

중복을 모두 제외한 단 두개의 열만 검색되었다.


  1. No Image 12Apr
    by
    2017/04/12 Views 5365 

    mySQL 에서 날자표현 방법

  2. No Image 21Nov
    by
    2017/11/21 Views 5388 

    두 테이블을 비교하여 한쪽테이블에는 있지만 다른 테이블에는 없는 값을 뽑아내보자!

  3. No Image 12Apr
    by
    2017/04/12 Views 5392 

    [MySQL] 백업 및 복구

  4. No Image 23Dec
    by
    2016/12/23 Views 5440 

    IMPORT

  5. No Image 23Dec
    by 조쉬
    2016/12/23 Views 5498 

    DISTINCT와 ALL

  6. No Image 23Dec
    by
    2016/12/23 Views 5500 

    mysql 날짜 관련 date_add, date_format

  7. No Image 23Dec
    by
    2016/12/23 Views 5534 

    데이타베이스 또는 테이블 정보

  8. No Image 23Dec
    by
    2016/12/23 Views 5537 

    InnoDB, MyISAM

  9. No Image 12Apr
    by
    2017/04/12 Views 5621 

    MySQL에서 원격 IP 접속 허용하기

  10. No Image 23Dec
    by
    2016/12/23 Views 5635 

    덤프할때 한글깨짐 해결

  11. No Image 23Dec
    by
    2016/12/23 Views 5646 

    문자형 데이터

  12. No Image 23Dec
    by
    2016/12/23 Views 5668 

    숫자형 데이터 타입

  13. No Image 27Feb
    by
    2014/02/27 Views 5693 

    Mysql 기본 명령어

  14. No Image 12Apr
    by
    2017/04/12 Views 5727 

    MySQL 에서 랜덤(random)으로 레코드 읽어오기

  15. No Image 23Dec
    by
    2016/12/23 Views 5783 

    테이블 복사, 테이블 비우기

  16. No Image 23Dec
    by
    2016/12/23 Views 5788 

    Dump & Restore

  17. No Image 23Dec
    by
    2016/12/23 Views 5809 

    IN 연산자

  18. No Image 30Aug
    by
    2016/08/30 Views 5812 

    각각의 게시판에서 제일 최근글하나씩을 모아 정렬

  19. No Image 30Aug
    by
    2016/08/30 Views 5842 

    MySQL 서버 데몬이 죽었을때 다시 실행하는 방법

  20. 세자리 마다 콤마 찍기

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved