메뉴 건너뛰기

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 23Dec
    by
    2016/12/23 Views 5500 

    mysql 날짜 관련 date_add, date_format

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

    DISTINCT와 ALL

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

    IMPORT

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

    [MySQL] 백업 및 복구

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

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

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

    mySQL 에서 날자표현 방법

  7. No Image 12Apr
    by
    2017/04/12 Views 5352 

    MySQL JOIN 걸어서 UPDATE 하기

  8. Mysql Join 해부(Left, Right, Outer, Inner Join)

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

    MySQL 손상된 테이블 복구

  10. flush privileges 명령어

  11. No Image 12Apr
    by
    2017/04/12 Views 5277 

    테이블 타입(Heap, MyIsam, InnoDB...) 변경하기

  12. No Image 12Apr
    by
    2017/04/12 Views 5252 

    MySQL root 패스워드 분실시

  13. No Image 12Apr
    by
    2017/04/12 Views 5105 

    MySQL의 alter table 명령어 모음

  14. No Image 26Mar
    by
    2021/03/26 Views 5088 

    mysql 포트 바꾸기, 외부에서 접속하기

  15. No Image 16Nov
    by
    2017/11/16 Views 5076 

    다른 테이블 데이터를 원하는 테이블에 업데이트 시키기

  16. No Image 12Apr
    by
    2017/04/12 Views 5071 

    백업시 캐릭터셋(charset) 지정하기

  17. No Image 12Apr
    by
    2017/04/12 Views 5008 

    MySQL 계정생성하기

  18. MySQL Shard 데이터 재분배

  19. No Image 22Dec
    by
    2017/12/22 Views 4940 

    테이블 파티셔닝

  20. No Image 08Jan
    by
    2019/01/08 Views 4431 

    MySQL ORDER BY 조건별 필드 및 ASC DESC

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved