[무료 SQLD 문제] 엔터티-관계(ER) 모델, 정규화, GROUP BY 절, HAVING 절, WHERE 절, LIKE 연산자, ORDER BY 절 무료 SQLD 예상 문제 6일차
매일매일 푸는 SQLD 예상 문제 6일차
문제 1: 엔터티-관계(ER) 모델
다음 중 엔터티-관계(ER) 모델에 대한 설명으로 올바른 것은?
- 엔터티는 데이터베이스에서 컬럼을 의미한다.
- 관계는 두 개 이상의 엔터티 간의 연관성을 나타낸다.
- 속성은 데이터베이스 테이블 전체를 의미한다.
- 식별자는 속성의 값이다.
문제 2: 정규화
정규화에 대한 설명으로 올바른 것은?
- 정규화는 데이터의 중복을 최대화하기 위한 과정이다.
- 정규화는 데이터베이스의 성능을 저하시키는 과정이다.
- 정규화는 데이터 무결성을 유지하고 중복을 최소화하기 위한 과정이다.
- 정규화는 테이블을 합치는 과정이다.
문제 3: GROUP BY와 HAVING 절
다음 SQL 문을 실행한 결과로 올바르게 표시된 것은?
SELECT department_id, COUNT(employee_id) AS employee_count
FROM employees
GROUP BY department_id
HAVING COUNT(employee_id) > 5
ORDER BY employee_count DESC;
- 모든 부서와 그 부서의 직원 수가 출력된다.
- 직원 수가 5명 이상인 부서만 출력되며, 직원 수 기준으로 내림차순 정렬된다.
- 직원 수가 5명 이하인 부서만 출력되며, 직원 수 기준으로 내림차순 정렬된다.
- 직원 수가 5명 이상인 부서만 출력되며, 부서 ID 기준으로 오름차순 정렬된다.
문제 4: WHERE 절과 LIKE 연산자
다음 SQL 문을 실행한 결과로 올바르게 표시된 것은?
SELECT employee_id, first_name, last_name
FROM employees
WHERE last_name LIKE 'S%'
ORDER BY first_name;
- 성이 'S'로 시작하는 모든 직원이 출력되며, 이름 순으로 정렬된다.
- 성이 'S'로 끝나는 모든 직원이 출력되며, 이름 순으로 정렬된다.
- 성이 'S'로 시작하는 모든 직원이 출력되며, 성 순으로 정렬된다.
- 성이 'S'로 끝나는 모든 직원이 출력되며, 성 순으로 정렬된다.
문제 5: 서브쿼리와 ORDER BY 절
다음 SQL 문에 대한 설명으로 올바른 것은?
SELECT employee_id, department_id, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees)
ORDER BY salary DESC;
- 모든 직원이 출력된다.
- 평균 급여보다 높은 급여를 받는 직원만 출력된다.
- 평균 급여보다 낮은 급여를 받는 직원만 출력된다.
- 평균 급여를 받는 직원만 출력된다.
문제 1: 엔터티-관계(ER) 모델 정답
다음 중 엔터티-관계(ER) 모델에 대한 설명으로 올바른 것은?
- 엔터티는 데이터베이스에서 컬럼을 의미한다.
- 관계는 두 개 이상의 엔터티 간의 연관성을 나타낸다.
- 속성은 데이터베이스 테이블 전체를 의미한다.
- 식별자는 속성의 값이다.
=====
정답: 2. 관계는 두 개 이상의 엔터티 간의 연관성을 나타낸다
해설: ER 모델에서 엔터티는 독립적으로 존재할 수 있는 객체를 의미하며, 관계는 이러한 엔터티 간의 연관성을 나타냅니다
문제 2: 정규화 정답
정규화에 대한 설명으로 올바른 것은?
- 정규화는 데이터의 중복을 최대화하기 위한 과정이다.
- 정규화는 데이터베이스의 성능을 저하시키는 과정이다.
- 정규화는 데이터 무결성을 유지하고 중복을 최소화하기 위한 과정이다.
- 정규화는 테이블을 합치는 과정이다.
=====
정답: 3. 정규화는 데이터 무결성을 유지하고 중복을 최소화하기 위한 과정이다
해설: 정규화는 데이터베이스 설계에서 중복을 줄이고 데이터 무결성을 유지하기 위한 일련의 과정입니다
문제 3: GROUP BY와 HAVING 절 정답
다음 SQL 문을 실행한 결과로 올바르게 표시된 것은?
SELECT department_id, COUNT(employee_id) AS employee_count
FROM employees
GROUP BY department_id
HAVING COUNT(employee_id) > 5
ORDER BY employee_count DESC;
- 모든 부서와 그 부서의 직원 수가 출력된다.
- 직원 수가 5명 이상인 부서만 출력되며, 직원 수 기준으로 내림차순 정렬된다.
- 직원 수가 5명 이하인 부서만 출력되며, 직원 수 기준으로 내림차순 정렬된다.
- 직원 수가 5명 이상인 부서만 출력되며, 부서 ID 기준으로 오름차순 정렬된다.
=====
정답: 2. 직원 수가 5명 이상인 부서만 출력되며, 직원 수 기준으로 내림차순 정렬된다
해설: HAVING 절은 GROUP BY 절과 함께 사용되어 그룹화된 결과에 조건을 적용합니다. ORDER BY 절은 결과를 정렬합니다
문제 4: WHERE 절과 LIKE 연산자 정답
다음 SQL 문을 실행한 결과로 올바르게 표시된 것은?
SELECT employee_id, first_name, last_name
FROM employees
WHERE last_name LIKE 'S%'
ORDER BY first_name;
- 성이 'S'로 시작하는 모든 직원이 출력되며, 이름 순으로 정렬된다.
- 성이 'S'로 끝나는 모든 직원이 출력되며, 이름 순으로 정렬된다.
- 성이 'S'로 시작하는 모든 직원이 출력되며, 성 순으로 정렬된다.
- 성이 'S'로 끝나는 모든 직원이 출력되며, 성 순으로 정렬된다.
=====
정답: 1. 성이 'S'로 시작하는 모든 직원이 출력되며, 이름 순으로 정렬된다
해설: LIKE 연산자는 패턴 매칭을 위해 사용되며, 'S%'는 'S'로 시작하는 모든 값을 의미합니다. ORDER BY 절은 결과를 정렬합니다
문제 5: 서브쿼리와 ORDER BY 절 정답
다음 SQL 문에 대한 설명으로 올바른 것은?
SELECT employee_id, department_id, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees)
ORDER BY salary DESC;
- 모든 직원이 출력된다.
- 평균 급여보다 높은 급여를 받는 직원만 출력된다.
- 평균 급여보다 낮은 급여를 받는 직원만 출력된다.
- 평균 급여를 받는 직원만 출력된다.
=====
정답: 2. 평균 급여보다 높은 급여를 받는 직원만 출력된다
해설: 서브쿼리는 주 쿼리에서 사용될 값을 반환하며, 이 경우 평균 급여보다 높은 급여를 받는 직원들을 필터링합니다. ORDER BY 절은 결과를 급여 내림차순으로 정렬합니다
댓글