메뉴 건너뛰기

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 26Mar
    by
    2021/03/26 Views 315 

    BEGIN, COMMIT, ROLLBACK

  2. binlog 조회 / 삭제 / 보관 기간 설정

  3. CASE 문법 사용 하기

  4. No Image 26Mar
    by
    2021/03/26 Views 129 

    column의 정보 중에서 column 설명(column_comment)

  5. No Image 23Dec
    by
    2016/12/23 Views 6012 

    Create Procedure

  6. No Image 29Aug
    by
    2016/08/29 Views 6767 

    DB의 모든 테이블을 삭제하는 쿼리

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

    DISTINCT와 ALL

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

    Dump & Restore

  9. No Image 23Dec
    by
    2016/12/23 Views 5871 

    dump 를 db에 올릴때 인코딩 문제

  10. flush privileges 명령어

  11. FORMAT 문법 사용 하기(숫자 자리수 나타내기)

  12. No Image 26Mar
    by
    2021/03/26 Views 125 

    fulltext 관련 글

  13. No Image 26Mar
    by
    2021/03/26 Views 262 

    group by, distinct, count 를 이용한 겹치지 않는것의 개수

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

    group by로 뽑아온 값중에 가장큰 값(max)의 상태값을 가져오기

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

    IMPORT

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

    IN 연산자

  17. No Image 18Jul
    by
    2018/07/18 Views 1675 

    InnoDB 스토리지 엔진에서 테이블의 최대 저장 row 개수

  18. No Image 23Dec
    by
    2016/12/23 Views 5536 

    InnoDB, MyISAM

  19. No Image 26Mar
    by
    2021/03/26 Views 247 

    LIMIT 속도 저하

  20. No Image 16Feb
    by
    2023/02/16 Views 139 

    MariaDB can't create test file lower-test

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved