본문 바로가기

[무료 SQLD 문제] 식별자, SELECT 문, JOIN 함수, GROUP BY 절, 서브쿼리 무료 SQLD 예상 문제 9일차

다락방 선생님 2024. 6. 11.
반응형

매일매일 푸는 SQLD 예상 문제 9일차

SQLD 문제

문제 1: 데이터 모델의 이해 - 식별자

다음 중 본질 식별자와 인조 식별자에 대한 설명으로 올바르지 않은 것은?

  1. 본질 식별자는 엔터티의 고유한 속성을 사용하여 정의된다.
  2. 인조 식별자는 시스템에서 자동으로 생성되는 값을 사용한다.
  3. 본질 식별자는 일반적으로 의미 있는 값을 가진다.
  4. 인조 식별자는 엔터티의 본질적인 의미를 반영한다.

 

문제 2: SQL의 기본 및 응용 - SELECT 문

다음 SQL 문을 실행했을 때 출력되는 결과는?

SELECT employee_id, first_name, last_name
FROM employees
WHERE hire_date > '2020-01-01'
ORDER BY hire_date ASC;
  1. 2020년 1월 1일 이후에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 오름차순으로 출력한다.
  2. 2020년 1월 1일 이전에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 오름차순으로 출력한다.
  3. 2020년 1월 1일 이후에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 내림차순으로 출력한다.
  4. 2020년 1월 1일 이전에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 내림차순으로 출력한다.

 

문제 3: SQL의 기본 및 응용 - JOIN 함수

다음 SQL 문에 대한 설명으로 올바른 것은?

SELECT p.product_name, o.order_id
FROM products p
LEFT JOIN orders o ON p.product_id = o.product_id;
 
  1. 제품 테이블과 주문 테이블의 조인 조건을 만족하지 않는 행은 결과에서 제외된다.
  2. 제품 테이블의 모든 행이 결과에 포함되고, 조인 조건을 만족하지 않는 경우 주문 ID는 NULL로 표시된다.
  3. 주문 테이블의 모든 행이 결과에 포함되고, 조인 조건을 만족하지 않는 경우 제품 이름은 NULL로 표시된다.
  4. 제품 테이블과 주문 테이블의 모든 행이 결과에 포함된다.

 

문제 4: SQL의 기본 및 응용 - GROUP BY 절

다음 SQL 문을 실행했을 때 출력되는 결과는?

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5000;
  1. 모든 부서의 평균 급여를 출력한다.
  2. 평균 급여가 5000 이하인 부서의 부서 ID와 평균 급여를 출력한다.
  3. 평균 급여가 5000 초과인 부서의 부서 ID와 평균 급여를 출력한다.
  4. 모든 직원의 평균 급여를 출력한다.

 

문제 5: SQL의 기본 및 응용 - 서브쿼리

다음 SQL 문을 실행했을 때 출력되는 결과는?

SELECT first_name, last_name
FROM employees
WHERE department_id = (SELECT department_id FROM employees WHERE last_name = 'Smith');
  1. 성이 'Smith'인 직원의 모든 부서 ID와 이름을 출력한다.
  2. 성이 'Smith'인 직원이 속한 부서의 모든 직원 이름과 성을 출력한다.
  3. 모든 직원의 이름과 성을 출력한다.
  4. 성이 'Smith'인 직원의 이름과 성을 출력한다.

 


문제 1: 데이터 모델의 이해 - 식별자 정답

다음 중 본질 식별자와 인조 식별자에 대한 설명으로 올바르지 않은 것은?

  1. 본질 식별자는 엔터티의 고유한 속성을 사용하여 정의된다.
  2. 인조 식별자는 시스템에서 자동으로 생성되는 값을 사용한다.
  3. 본질 식별자는 일반적으로 의미 있는 값을 가진다.
  4. 인조 식별자는 엔터티의 본질적인 의미를 반영한다.

정답: 4. 인조 식별자는 엔터티의 본질적인 의미를 반영한다.

설명: 본질 식별자는 엔터티의 고유한 속성을 사용하여 정의되며, 의미 있는 값을 가진다. 인조 식별자는 시스템에서 자동으로 생성되며, 본질적인 의미를 반영하지 않는 값이다. 인조 식별자는 주로 일련번호나 GUID와 같이 시스템에서 생성된 값을 사용한다.

 

문제 2: SQL의 기본 및 응용 - SELECT 문 정답

다음 SQL 문을 실행했을 때 출력되는 결과는?

SELECT employee_id, first_name, last_name
FROM employees
WHERE hire_date > '2020-01-01'
ORDER BY hire_date ASC;
  1. 2020년 1월 1일 이후에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 오름차순으로 출력한다.
  2. 2020년 1월 1일 이전에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 오름차순으로 출력한다.
  3. 2020년 1월 1일 이후에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 내림차순으로 출력한다.
  4. 2020년 1월 1일 이전에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 내림차순으로 출력한다.

 

정답:

  1. 2020년 1월 1일 이후에 고용된 직원의 ID, 이름, 성을 고용 날짜 기준으로 오름차순으로 출력한다.

설명: WHERE hire_date > '2020-01-01' 조건은 2020년 1월 1일 이후에 고용된 직원을 선택하고, ORDER BY hire_date ASC는 고용 날짜를 기준으로 오름차순으로 정렬한다.

 

문제 3: SQL의 기본 및 응용 - JOIN 함수 정답

다음 SQL 문에 대한 설명으로 올바른 것은?

SELECT p.product_name, o.order_id
FROM products p
LEFT JOIN orders o ON p.product_id = o.product_id;
 
  1. 제품 테이블과 주문 테이블의 조인 조건을 만족하지 않는 행은 결과에서 제외된다.
  2. 제품 테이블의 모든 행이 결과에 포함되고, 조인 조건을 만족하지 않는 경우 주문 ID는 NULL로 표시된다.
  3. 주문 테이블의 모든 행이 결과에 포함되고, 조인 조건을 만족하지 않는 경우 제품 이름은 NULL로 표시된다.
  4. 제품 테이블과 주문 테이블의 모든 행이 결과에 포함된다.

정답: 2. 제품 테이블의 모든 행이 결과에 포함되고, 조인 조건을 만족하지 않는 경우 주문 ID는 NULL로 표시된다.

설명: LEFT JOIN은 왼쪽 테이블(여기서는 products)의 모든 행을 포함하며, 조인 조건을 만족하지 않는 경우 오른쪽 테이블(여기서는 orders)의 열은 NULL로 표시된다.

 

문제 4: SQL의 기본 및 응용 - GROUP BY 절 정답

다음 SQL 문을 실행했을 때 출력되는 결과는?

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5000;
  1. 모든 부서의 평균 급여를 출력한다.
  2. 평균 급여가 5000 이하인 부서의 부서 ID와 평균 급여를 출력한다.
  3. 평균 급여가 5000 초과인 부서의 부서 ID와 평균 급여를 출력한다.
  4. 모든 직원의 평균 급여를 출력한다.

정답: 3. 평균 급여가 5000 초과인 부서의 부서 ID와 평균 급여를 출력한다.

설명: GROUP BY 절은 부서별로 데이터를 그룹화하고, HAVING 절은 그룹화된 데이터 중에서 평균 급여가 5000을 초과하는 부서만을 선택하여 출력한다.

 

문제 5: SQL의 기본 및 응용 - 서브쿼리 정답

다음 SQL 문을 실행했을 때 출력되는 결과는?

SELECT first_name, last_name
FROM employees
WHERE department_id = (SELECT department_id FROM employees WHERE last_name = 'Smith');
  1. 성이 'Smith'인 직원의 모든 부서 ID와 이름을 출력한다.
  2. 성이 'Smith'인 직원이 속한 부서의 모든 직원 이름과 성을 출력한다.
  3. 모든 직원의 이름과 성을 출력한다.
  4. 성이 'Smith'인 직원의 이름과 성을 출력한다.

정답: 2. 성이 'Smith'인 직원이 속한 부서의 모든 직원 이름과 성을 출력한다.

설명: 서브쿼리 (SELECT department_id FROM employees WHERE last_name = 'Smith')는 성이 'Smith'인 직원이 속한 부서 ID를 반환하고, 외부 쿼리는 이 부서 ID를 가진 모든 직원의 이름과 성을 출력한다.

 

반응형

댓글