🍉 2020년 1회 6번
STUDENT 테이블에 전기과 학생 50명, 전산과 학생 100명, 전자과 학생 50명이 있다고 할 때, 다음 SQL ①, ②, ③의 실행 결과로 표시되는 튜플의 수를 쓰시오.
① SELECT DEPT FROM STUDENT;
② SELECT DISTINCT DEPT FROM STUDENT;
③ SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '전산과';
답 : 200, 3, 1
① STUDENT 테이블에서 학과를 검색하면 전체 학생들의 수인 200만큼의 튜플이 나온다.
② STUDENT 테이블에서 학과에 대한 중복을 제거하여 검색하면 전체 학과의 수만큼인 3이 나온다.
③ STUDENT 테이블에서 학과가 전산과인 부분에 대해, 중복을 제거한 학과를 검색하면 1이 나온다.
🍉 2020년 2회 6번
다음 두 조건을 가지는 SQL문을 작성하시오
- 학생 테이블에서 3, 4학년인 학번, 이름을 조회한다.
- IN 연산자를 사용해야 한다.
[학생]
학번 | 이름 | 학년 | 수강 과목 | 점수 | 연락처 |
1000 | 김이름 | 1 | 수학 | 90 | 010-1111-2222 |
2000 | 장이름 | 2 | 과학 | 95 | 010-2222-2222 |
3000 | 허이름 | 3 | 미술 | 90 | 010-3333-3333 |
4000 | 조이름 | 4 | 음악 | 90 | 010-4444-4444 |
답 : SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (3, 4);
SELECT 학번, 이름 FROM 학생 WHERE 학년 = 3 OR 학년 = 4;로 작성할 수도 있지만
해당 문제에서는 IN 연산자를 사용하였다.
만약 1, 3, 4학년인 학생의 학번, 이름을 조회하고자 한다면,
SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (1, 3, 4); 같이 IN 구문 내부에 여러 값을 넣어주면 된다.
🍉 2020년 2회 12번
학생 테이블의 NAME 속성에 IDX_NAME 이름으로 인덱스를 생성하는 SQL문을 작성하시오.
[학생]
STID | NAME | SCORE | DEPTID |
1000 | 김이름 | 90 | 1 |
2000 | 허이름 | 95 | 2 |
3000 | 조이름 | 90 | 3 |
4000 | 장이름 | 95 | 4 |
답 : CREATE INDEX IDX_NAME ON 학생(NAME);
🍉 2020년 3회 8번
성적 테이블에서 과목별 점수의 평균이 90점 이상인 과목이름, 최소점수, 최대점수 검색
- 대소문자를 구분하지 않는다.
- WHERE 구분을 사용하지 않는다.
- GROUP BY, HAVING 구문을 반드시 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다.
[성적]
과목코드 | 과목이름 | 학점 | 점수 |
1000 | 컴퓨터과학 | A+ | 95 |
2000 | 운영체제 | B+ | 85 |
1000 | 컴퓨터과학 | B+ | 85 |
2000 | 운영체제 | B | 80 |
[결과]
과목이름 | 최소점수 | 최대점수 |
컴퓨터과학 | 85 | 95 |
답 : SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90;
성적 테이블에서 (FROM 성적)
과목이름으로 묶은 그룹들 중(GROUP BY 과목이름)
점수에 대한 평균이 90 이상인 그룹인 조건에서, (HAVING AVG(점수) >= 90)
과목이름, 최소점수, 최대점수를 가져온다. (SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수)
🍉 2020년 3회 9번
학생 테이블에서 이름이 민수인 튜플을 삭제하는 SQL문을 작성하시오.
[학생]
학번 | 이름 | 점수 | 과목 이름 |
1000 | 김정미 | 90 | 알고리즘 |
2000 | 강은미 | 95 | 데이터베이스 |
3000 | 홍길동 | 90 | 전산수학 |
4000 | 민수 | 95 | 운영체제 |
답 : DELETE FROM 학생 WHERE 이름 = '민수';
🍉 2020년 3회 20번
학생 테이블에 주소 속성을 추가하는 SQL문을 작성하시오.
( ① ) TABLE 학생 ( ② ) 주소 VARCHAR(20);
답 : ① ALTER ② ADD
'정보처리기사 > 기출' 카테고리의 다른 글
[정보처리기사] 기출문제_DB (2022년 실기) (1) | 2024.04.27 |
---|---|
[정보처리기사] 기출문제_DB (2021년 실기) (1) | 2024.04.27 |
[정보처리기사] 기출문제_C언어 (2023년 실기) (1) | 2024.04.21 |
[정보처리기사] 기출문제_C언어 (2022년 실기) (0) | 2024.04.18 |
[정보처리기사] 기출문제_C언어 (2021년 실기) (0) | 2024.04.18 |