본문 바로가기
데이타베이스

DBMS의 공집합과 집합함수

by hs_seo 2015. 7. 27.

DBMS의 공집합과 집합함수

 

데이터베이스의 조회조건에 해당하는 값이 하나도 없는 경우를 공집합이라고 한다.

집합함수의 경우 공집합의 경우에 NULL을 반환한다.

-       집합함수: count, sum, avg, max, min

 

Toad 같은 툴을 이용하여 쿼리를 날리면 공집합과 NULL값 반환의 구분이 어려운데, CLI를 이용하면 공집합의 경우 Empty Set을 반환하는 것으로 확인 가능하다.

 

MySQL에서 비어 있는 테이블을 이용하여 쿼리를 날릴경우 아래와 같은 결과를 확인할 수 있다.

 

 

mysql> select * from employee;
Empty set (0.00 sec)

mysql> select emp_id from employee where 1=2;
Empty set (0.00 sec)

mysql> select count(emp_id) from employee where 1=2;
+---------------+
| count(emp_id) |
+---------------+
|             0 |
+---------------+
1 row in set (0.00 sec)

mysql> select max(emp_id) from employee where 1=2;
+-------------+
| max(emp_id) |
+-------------+
|        NULL |
+-------------+
1 row in set (0.00 sec)

mysql> select coalesce(count(emp_id), 'X') from employee where 1=2;
+------------------------------+
| coalesce(count(emp_id), 'X') |
+------------------------------+
| 0                            |
+------------------------------+
1 row in set (0.00 sec)

mysql> select coalesce(max(emp_id), 'X') from employee where 1=2;
+----------------------------+
| coalesce(max(emp_id), 'X') |
+----------------------------+
| X                          |
+----------------------------+
1 row in set (0.01 sec)

mysql> select coalesce(emp_id, 'X') from employee where 1=2;
Empty set (0.00 sec)

mysql>


 

http://wiki.gurubee.net/pages/viewpage.action?pageId=26743834

http://database.sarang.net/?inc=read&aid=31167&criteria=oracle&subcrit=&id=&limit=20&keyword=long&page=4

 

반응형