'Database'에 해당되는 글 4건

  1. 2009.02.07 Database Quiz - 함수의 활용
  2. 2009.02.07 Database Quiz - 실행계획 유도
  3. 2009.02.07 Database Quiz - 연속성
  4. 2009.02.07 Database Quiz - 달력
Database 일반2009. 2. 7. 08:04

문) SQL로 100 ! (100의 팩토리얼)을 구하라 (난이도 C)




물론
select 100 * 99 *98 * 97  ..... * 2
from dual

이런식의 방법은 우아하지 못함을 떠나서 아마도 수치연산 오류로 제대로 작동하지 않을테니 굳이 시험해 보지 않아도 된다. 정확히 기억나지 않지만 오라클의 경우 최대 연산 가능한 수는 10^128 보다 작다.

'Database 일반' 카테고리의 다른 글

Database - Plan 이해  (0) 2009.03.07
Database Quiz - count  (0) 2009.02.13
Database Quiz - 실행계획 유도  (0) 2009.02.07
Database Quiz - 연속성  (0) 2009.02.07
Database Quiz - 달력  (0) 2009.02.07
Posted by bleujin
Database 일반2009. 2. 7. 04:13


1. 사원의 수가 아주 많아서 NL조인으로는 충분한 전체범위 처리 속도를 얻기 어렵다. 아래 SQL을 Hash Join 실행계획을 사용하도록 유도하라. (난이도 C+)


select a.ename, a.sal, b.grade
from emp a, sal_grade b
where a.sal between b.minValue and b.maxValue



- 기대되는 실행계획 :

SELECT STATEMENT
HASH JOIN
  TABLE ACCESS FULL EMP
  TABLE ACCESS FULL SAL_GRADE


'Database 일반' 카테고리의 다른 글

Database - Plan 이해  (0) 2009.03.07
Database Quiz - count  (0) 2009.02.13
Database Quiz - 함수의 활용  (0) 2009.02.07
Database Quiz - 연속성  (0) 2009.02.07
Database Quiz - 달력  (0) 2009.02.07
Posted by bleujin
Database 일반2009. 2. 7. 03:57

row의 연속성을 구현하는 문제이다.

1. 아래와 같은 입력 테이블이 있다. 연속일로 매출이 발생한 정보를 출력하라. (난이도 C)

매출년일        수량
20090130         30
20090131         10
20090201         25
20090202         20
20090204         35
20090205         40
20090206         10
20090209         20
20090211         35


기대되는 출력
기간                           수량
20090130 - 20090202      85
20090204 - 20090206      85
20090209 - 20090209      20
20090211 - 20090211      30



2. 같은 입력으로 토요일과 일요일은 매출이 없어도 휴일이기 때문에(일반 국경일은 패스) 연속성을 가지는 걸로 가정하고 출력. 즉 금요일에 매출이 발생하고 다음 월요일에 매출이 발생하면 연속성을 가지는 걸로 간주한다. (난이도 C+)

기대되는 출력
기간                           수량
20090130 - 20090202      85
20090204 - 20090209      105
20090211 - 20090211      30



'Database 일반' 카테고리의 다른 글

Database - Plan 이해  (0) 2009.03.07
Database Quiz - count  (0) 2009.02.13
Database Quiz - 함수의 활용  (0) 2009.02.07
Database Quiz - 실행계획 유도  (0) 2009.02.07
Database Quiz - 달력  (0) 2009.02.07
Posted by bleujin
Database 일반2009. 2. 7. 03:41

열렬한 팬사이트 중의 하나였던 엔코아에서 작년에 SQL Quiz 게시판을 없애버렸다. 참여율이 저조해서인지 아니면 다른 이유가 있는지는 모르겠지만 개인적으로는 아쉽기 그지 없었다. 그래서 개인적으로 재미삼아 퀴즈문제를 만들어 보기로 했다 -ㅅ-  사실 이 블로그 자체가 남에게 보여주기 위함보다 그냥 개인적인 목적으로 만든 블로그지만 - 그동안 하도 글들을 날려먹어서 -ㅅ- 머 어쩌랴 싶기도 하다. 퀴즈는 아마도 이 블로그에서 유일하게 타인만을 위한(정말?) 글이 될 예정...

웬일인지 개인적으로 면접을 본 횟수보다 면접을 한 횟수가 10배정도 많은데 그 때마나 DB파트에서는 꼭 SQL 문제를 내곤 했다. 단순한 암기적 지식이 필요한 질문은 면접 질문중 최악이지만 SQL은 암기적 지식이 필요 없고 평소 RDMS를 제대로 관계형 패러다임으로 인식하고 있는지 알아볼 수 있기 때문이다. 문제별 난이도는 주관적이고 상대적이다.

1. 해당년원을 인풋으로 받아서 SQL을 사용하여 달력을 출력하기 (난이도 D)


ex)
입력 : 200801

출력 :

일 월 화 수 목  금  토
         1   2  3    4   5
6   7   8  9  10  11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31




1-1 입력은 같지만 이전달과 이후달의 날짜도 같이 출력하기. (난이도 C)


입력 : 200801

출력 :

일 월 화 수 목  금  토
30  31 1  2  3    4   5
6   7   8  9  10  11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  1  2



'Database 일반' 카테고리의 다른 글

Database - Plan 이해  (0) 2009.03.07
Database Quiz - count  (0) 2009.02.13
Database Quiz - 함수의 활용  (0) 2009.02.07
Database Quiz - 실행계획 유도  (0) 2009.02.07
Database Quiz - 연속성  (0) 2009.02.07
Posted by bleujin