728x90
반응형
2020년 정보처리기사 실기 기출문제
문제1.
STUDENT 테이블에서 컴퓨터과 학생 50명, 인터넷과 학생 100명, 사무자동화과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과에 따른 튜플의 수는? (단, DEPT 칼럼은 학과명이다.)
1) SELECT DERP FROM STUDENT;
2) SELECT DISTINCT DEPT FROM STUDENT;
3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '컴퓨터과';
정답
1. 200
2. 3
3. 1
반응형
해설
문제에서 주어진 조건은 다음과 같습니다:
- 컴퓨터과 학생: 50명
- 인터넷과 학생: 100명
- 사무자동화과 학생: 50명
- 총 학생 수: 200명
DEPT 칼럼은 각 학생의 학과를 나타냅니다.
문제 1) SELECT DEPT FROM STUDENT;
이 쿼리는 STUDENT 테이블에서 DEPT(학과명) 값을 모두 선택하여 출력합니다. DISTINCT 키워드를 사용하지 않기 때문에 중복된 학과명도 모두 출력됩니다. 즉, 테이블에 저장된 200명의 학생들의 학과명이 그대로 출력됩니다. 결과 튜플 수: 200개
- SELECT: 데이터베이스에서 특정 데이터를 선택할 때 사용하는 명령어입니다.
- DEPT: 조회하고자 하는 컬럼의 이름입니다. 여기서는 학생의 학과명을 나타냅니다.
- FROM: 데이터를 조회할 테이블을 지정하는 부분입니다.
- STUDENT: 데이터를 조회할 테이블의 이름입니다.
문제 2) SELECT DISTINCT DEPT FROM STUDENT;
DISTINCT 키워드는 중복된 값을 제거하고 고유한 학과명을 추출합니다. 문제에서 주어진 학과는 컴퓨터과, 인터넷과, 사무자동화과로 총 3개의 학과가 있습니다. 따라서, 중복된 학과명은 제외하고 고유한 학과명만 출력됩니다. 결과 튜플 수: 3개
- SELECT: 데이터베이스에서 특정 데이터를 조회할 때 사용하는 명령어입니다.
- DISTINCT: 중복된 값을 제거하고 고유한 값을 반환합니다. 이 키워드를 사용하면 동일한 값이 여러 번 나타나더라도 하나만 출력됩니다.
- DEPT: 조회하고자 하는 컬럼의 이름입니다. 여기서는 학생의 학과명을 나타냅니다.
- FROM: 데이터를 조회할 테이블을 지정하는 부분입니다.
- STUDENT: 데이터를 조회할 테이블의 이름입니다.
이 쿼리는 STUDENT 테이블에서 DEPT 컬럼의 값을 고유하게 추출하여 반환합니다. 즉, 중복된 학과명은 제거되고, 각 학과명이 한 번만 출력됩니다.
728x90
문제 3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '컴퓨터과';
이 쿼리는 STUDENT 테이블에서 DEPT가 '컴퓨터과'인 레코드에서 중복을 제거한 뒤, 그 결과를 카운트합니다. 여기서는 컴퓨터과 학과명만을 조회하며, 이 학과는 하나뿐이므로 중복을 제거한 후의 결과는 1개가 됩니다. 결과: 1
- SELECT: 데이터베이스에서 특정 데이터를 조회하는 명령어입니다.
- COUNT(DISTINCT DEPT): DEPT 컬럼에서 중복된 값을 제거하고 고유한 학과명을 세는 함수입니다. COUNT 함수는 그 결과로 나온 고유한 학과명의 개수를 반환합니다.
- FROM STUDENT: 데이터를 조회할 테이블인 STUDENT 테이블을 지정합니다.
- WHERE DEPT = '컴퓨터과': DEPT 컬럼의 값이 '컴퓨터과'인 레코드만 선택하는 조건입니다.
결론
- 문제 1: 200명 학생의 학과가 모두 출력되므로 결과는 200개.
- 문제 2: 고유 학과 3개만 출력되므로 결과는 3개.
- 문제 3: '컴퓨터과' 학과명 하나만 중복 제거 후 출력되므로 결과는 1개.
이 문제를 통해 SQL의 SELECT, DISTINCT, COUNT 함수의 사용법을 명확히 이해할 수 있습니다. SQL 쿼리를 통해 데이터베이스에서 원하는 정보를 효과적으로 추출하는 방법을 익히는 것이 중요합니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] [ C ] 버블 정렬 코드 | 2020년 정보처리기사 기출문제 (0) | 2024.09.06 |
---|---|
[정보처리기사] 프로세스 스케줄링 | 선점 스케줄링 기법, 비선점 스케줄링 기법 | 2020년 정보처리기사 실기 기출문제 (0) | 2024.09.06 |
[정보처리기사] 인터페이스 구현 : JSON, XML, AJAX, REST | 정보처리기사 실기 기출 모음 (0) | 2024.09.05 |
[정보처리기사] 프로토콜이란? 프로토콜의 개념과 3가지 기본 요소 | 정보처리기사 실기 기출문제 (1) | 2024.09.05 |
[정보처리기사] 빅데이터(Big Data) | 빅데이터 관련 용어 | 정보처리기사 실기 기출 (0) | 2024.09.04 |