메뉴 건너뛰기

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 27Feb
    by
    2014/02/27 Views 8022 

    MySQL 최적화 방법 설명

  2. No Image 27Feb
    by
    2014/02/27 Views 6254 

    MySql 문자열 합치기

  3. No Image 27Feb
    by
    2014/02/27 Views 6012 

    컬럼내 특정 문자를 다른문자로 변경하고자 할때

  4. No Image 27Feb
    by
    2014/02/27 Views 6782 

    MySQL Replication 설정(Master-Slave, Maste

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

    Mysql 기본 명령어

  6. No Image 07Aug
    by
    2015/08/07 Views 7384 

    MySQL/MariaDB 백업 & 복원 - mysqldump

  7. No Image 19Dec
    by
    2015/12/19 Views 8360 

    다양한 단위의 시간차 구하기

  8. No Image 19Dec
    by
    2015/12/19 Views 5996 

    월의 마지막 일수를 반환하는 함수입니다

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

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

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

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

  11. No Image 30Aug
    by
    2016/08/30 Views 6606 

    컬럼에 포함된 특정문자열을 검색해서 그 문자로 또 다른 테이블검색하기

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

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

  13. MySql 에서 외래키(FK) 설정하는 방법과 Toad 에서 확인하기

  14. MySql 윈도우에서 DB dump 백업과 복구하기

  15. MySQL 에서 NULL 값 처리

  16. MySql 의 Trigger(트리거) 로 정보 업데이트

  17. No Image 22Dec
    by
    2016/12/22 Views 11523 

    MySQL INSERT 성능 향상

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

    mysql 날짜 관련 date_add, date_format

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

    DISTINCT와 ALL

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

    InnoDB, MyISAM

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved