CUBRID 2008 R4.1 기초강좌
단순 데이터 조회 및 DISTINCT를 이용한 중복 제거 0 0 85,658

by 큐브리드 DISTINCT 중복제거 SELECT [2009.03.20]


  SELECT문은 기본적으로 SELECT-FROM-WHERE순으로 작성된다. 대상 테이블로부터(FROM절) 조건에 맞는(WHERE절) 컬럼 값을 조회한다는 의미이다.

  보다 상세한 내용은 CUBRID 매뉴얼>SQL 설명서> 데이터 조회와 조작> SELECT를 참고한다.

  링크: http://www.cubrid.com/manual/newest/syntax/syntax_retreive_select.htm

 
SELECT [ DISTINCT ] 컬럼(들) 
[ FROM 테이블(들) ]
[ WHERE 조건(중첩 질의) ] 
[ GROUP BY 컬럼(들) ] 
[ HAVING 조건 ] 
[ ORDER BY 컬럼(들) [ ASC | DESC ] ] 
[ LIMIT 개수]
[ USING INDEX  인덱스이름]
;

단순 데이터 조회

  조건 없이 테이블 내 컬럼 값을 조회하려면 SELECT~FROM절을 사용한다. 예제는 code 테이블에 있는 모든 컬럼 값을 조회하는 예이다. ‘*’를 사용하는 경우 테이블 내 존재하는 모든 컬럼을 지정한다는 의미이다.

예제1

  CODE 테이블의 모든 데이터를 조회하라.

 
SELECT * FROM code; 

또는
 
SELECT s_name, f_name  FROM code;

  와일드카드 문자 ‘*’를 사용하면 결과 테이블의 컬럼들은 테이블을 생성할 때 명시한 순서대로 나타난다. CUBRID에서는 와일드카드 문자를 이용하면 컬럼의 이름이 소문자로 나타난다.

예제2

  CODE 테이블에서 s_name 컬럼을 조회하라

 SELECT s_name FROM code;  

  특정 컬럼 이름을 명시하는 경우에는, SELECT절에 명시한 컬럼 순서대로 결과가 출력된다.

DISTINCT를 이용한 중복 제거

  중복된 레코드를 제거하고 유일한 값에 대해서만 결과를 출력하려면 DISTINCT를 사용한다. DISTINCT를 사용하지 않은 [결과 1] 에서는 동일한 값을 가지는 레코드가 포함되어 있지만, DISTINCT를 사용한 [결과 2]에서는 중복된 레코드가 제거되었다.

  즉, DISTINCT를 사용하는 경우, DBMS엔진 내부에서는 데이터에 대해 정렬 연산을 수행하므로 출력된 순서가 알파벳순으로 정렬된 것을 확인할 수 있다.

예제3

  CODE 테이블에서 중복을 제거하여 nation_code, address 컬럼만 조회하라.

 
SELECT DISTINCT nation_code, address 
FROM stadium 
WHERE nation_code='KOR';

  결과 테이블에서 유일한 레코드만 출력되게 하려면 컬럼 리스트 앞에 DISTINCT 키워드를 사용한다.

참고사이트

  - http://www.cubrid.com/zbxe/home

- 강좌 URL : http://www.gurubee.net/lecture/2015

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입