컴퓨터활용(컴활) 공부

[데이터베이스] 컴활실기 문제 풀기 (크로스텝쿼리, 조인, 매개변수)

미스털이 사용자 2023. 12. 25. 12:15
반응형

(문제 출처 : https://m.cafe.daum.net/hermingway/ZYwR/38 )

 

​​​​​데이터베이스 컴활 실기문제를 계속해서 풀어보자.

 

 

 

===

 

테이블 조인

 

 

먼저 쿼리를 생성하기 위해

[만들기]->[쿼리 디자인]

 

 

 

그리고 문제에서 요구하는

테이블 3개를 불러온다.

 

그리고 이때 완성된 쿼리는 다음과 같다.

SELECT 
          부서.부서명, 직무평가.사번
FROM 
          (
                    부서 
                    INNER JOIN 
                              직원 
                              ON 
                                        부서.부서코드 = 직원.부서코드
          ) 
INNER JOIN 
          직무평가 
          ON 
                    직원.사번 = 직무평가.사번;
 

 

 

근데 부서별로 개수를 나타내야하기 때문에

[디자인]->[요약] 선택 후,

사번 필드의 묶는 방법 속성을 "개수"로 설정

 

 

그리고

조건을 넣어줘야 한다.

[평균] 필드를 포함시킨 후

표시하지 않게끔 체크를 해제하고

조건을 "<70"이라고 해준다.

 

 

그리고

인원수를 나타낼 곳의 형식을

#\명

이라고 문자열을 추가시켜준다.

 

 

결과 쿼리는 다음과 같다.

SELECT 
        부서.부서명, Count(직원.사번) AS 인원수
FROM
        (부서 INNER JOIN 직원 ON 부서.부서코드 = 직원.부서코드) 
        INNER JOIN 
                직무평가 
                ON 직원.사번 = 직무평가.사번
GROUP BY 
        부서.부서명, 직무평가.평균
HAVING 
        (직무평가.평균)<70
ORDER BY 
        Count(직원.사번) DESC;
 

 

 

 

===

 

크로스탭 쿼리 만들기

 

 

크로스탭 쿼리를 만들기 위해선

행을 구성하는게 뭔지

열을 구성하는게 뭔지 파악해야 한다.

 

행 : 부서명

열 : 직급

 

 

우선

[만들기]->[쿼리 디자인]

 

 

그 다음 문제에서 요구하는 테이블을 불러온 후

[디자인]->[크로스탭] 선택

 

그다음

열과 행 요소를 지정해준 후

"값"으로 정의될 [평균] 필드를 넣어준다. (묶는 방법 역시 설정)

 

그 다음,

행 머리글에 지정된

부서명에 의해 그룹화된

데이터 중 평균의 최대값을 구해야 하므로

평균 필드를 한 개 더 넣고

요약과 크로스탭을 다음과 같이 지정해준다.

 

그리고

평균의 필드 속성 중

[형식]을 0.0으로 해준다.

 

완성

 

 

===

 

매개변수 입력

LIKE 와일드 검색

 

 

먼저 위의 요구대로 테이블을 추가시킨 후

매개변수 대상이 될 필드를 넣어준 후

조건을 다음과 같이 설정해준다.

Like "*" & [메시지] & "*"

 

그리고

조건관련된 필드를 추가해주고

조건과 표시 속성을 문제에서 요구하는데로 고쳐준다.

 

완성

 

반응형