8장 SQL 응용
SQL - DDL ; Data Define Language (데이터 정의어)
CREATE ; 스키마, 도메인, 테이블, 뷰, 인덱스 를 정의함
ALTER ; 테이블에 대한 정의를 변경하는데 사용
DROP ; 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제함
SQL - DCL ; Data Control Language (데이터 제어어)
=> DB 제어권한을 부여/회수 하는 것 / COMMIT / ROLLBACK
COMMIT ; 결과를 물리적 디스크에 저장 , 정상적으로 완료되었음을 알려줌.
ROLLBACK ; 트렌잭션이 비정상적으로 종료되었을 때, 이전상태로 되돌림.
GRANT ; DB 사용자에게 권한을 부여
REVOKE ; DB 사용자의 사용권한을 취소
SQL - DML ; Data Manipulation Language (데이터 조작어)
SELECT
INSERT
DELETE
UPDATE
[ 기출 문제 참고 출처 - https://heannim-world.tistory.com/109 ]
[2022-2회] 3. H회사의 전체 제품 단가 보다 큰 제품 출력을 하고자 한다.
괄호안에 들어갈 알맞는 용어를 작성하시오.
[테이블 명 : 제품]
[제시 SQL 문]
SELECT 제조사, 제품명, 단가
FROM 제품
WHERE 단가 > ( ) (SELECT 단가 FROM 제품 WHERE 제조사='H') ;
[2022-2회] 풀이 :
SELECT 제조사, 제품명, 단가
FROM 제품
WHERE 단가 > ALL ( SELECT 단가
FROM 제품
WHERE 제조사 = 'H' ) ;
=> 제조사가 'H' 인 제품들의 단가를 모두 비교하여 큰 것을 출력
답 : ALL
[2022-2회] 4. 다음 SQL 결과에 알맞는 답을 작성하시오.
[테이블 명 : TABLE]
[제시 SQL 문]
SELECT count(col2)
FROM TABLE
WHERE col1 in(2,3) or col2 in(3,5);
[2022-2회] 풀이 :
SELECT *
FROM TABLE
WHERE col1 in(2,3) or col2 in(3,5);
WHERE 조건문을 파악하기 위해 ' SELECT * '
결과 :

이때 SELECT count(col2) 에 null 값이 포함되는가 되지 않는가 가 중요한 부분인데,
count(컬럼명) 이라면 null 값은 포함되지 않고,
count(*) 이라면 null 값은 포함되지 않는다.
따라서, 답은 4.
답 : 4
[2022-2회] 12. 다음 테이블에서 πTTL(employee)에 대한 연산 결과 값을 작성하시오.
[2022-2회] 풀이 :
관계대수 관련 문제이다.
π는 순수 관계 연산자 'Project' 이다.
제시된 속성값을 추출하여 새로운 릴레이션을 만드는 연산으로,
중복값이 있다면, 중복값을 제거한다.
따라서 답은,
① TTL
② 부장
③ 대리
④ 과장
⑤ 차장
[2022-1회] 4. 다음 SQL 결과에 알맞는 쿼리을 작성하시오.
[테이블 명 : 성적]
[제시 SQL 문]
SELECT name, score FROM 성적 ( 1 ) BY ( 2 ) ( 3 )
[2022-1회] 풀이 :
' score '을 기준으로 내림차순
SELECT name, score
FROM 성적
ORDER BY score DESC
답 : ORDER , score , DESC
[2021-3회] 3. Grant의 기능에 대해 간략하게 약술하시오.
풀이 :
답 : Grant 는 데이터베이스 사용자에게 권한을 부여하는 명령 이다.
[2021-3회] 13. T1 테이블과 T2 테이블을 참고하여 SQL 실행 결과를 쓰시오.
풀이 :
SELECT COUNT(*) AS CNT
FROM T1 A CROSS JOIN T2 B
WHERE A.NAME LIKE B.NAME
테이블 T1 -> A 로 치환
테이블 T2 -> B 로 치환
CROSS JOIN 은 JOIN을 해서 나올 수 있는 모든 행의 조합을 보여주는 것
S% => S 로 시작하는 것
%T% => T 를 포함하는 것
<T1> 에서
S% => SCOTT , SMITH => 2행
%T% => SCOTT , SMITH => 2행
그러므로 <T1>에서 나오는 것 4행
답 : 4
[2021-2회] 5. 다음은 테이블을 수정할때의 상황입니다.
SQL 보기에서 괄호안에 알맞는 문장을 작성하시오.
( 1 ) 테이블명 ( 2 ) 컬럼 = 값 WHERE 점수 >= 90;
풀이 :
UPDATE 테이블명
SET 컬럼 = 값
WHERE 점수 >= 90 ;답 : 1. UPDATE , 2. SET
[2020-4회] 16. 다음 조건을 만족하면서 학과별로 튜플 수가 얼마인지 구하는 SQL문을 작성하시오.
- 대소문자를 구분하지 않는다.
- WHERE 구문을 사용하지 않는다.
- GROUP BY 를 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다. (별칭 사용 시 별칭은 작은 따옴표를 써야 함)
- 집계 함수를 사용해야 한다.
[테이블 명 : 학생]
[결과]
풀이 :
SELECT 학과 , COUNT(학생) AS 학과별튜플수
FROM 학생
GROUP BY 학과
[2020-3회] 8. 다음 조건을 만족하면서, 과목별 점수의 평균이 90이 상인 과목이름, 최소점수, 최대점수를 구하는 SQL문을 작성하시오.
- 대소문자를 구분하지 않는다.
- WHERE 구분을 사용하지 않는다.
- GROUP BY, HAVING구문을 반드시 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다.
[테이블 명 : 성적]
[결과]
풀이 :
SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목이름
HAVING AVG(점수) >= 90 ;
[2020-3회] 9. 학생 테이블에서 이름이 민수인 튜플을 삭제하는 SQL문을 작성하시오.
[테이블 명 : 학생]
풀이 :
DELETE
FROM 학생
WHERE 이름 = '민수' ;
[2020-3회] 20. 학생 테이블에 주소 속성을 추가하는 SQL문을 작성하시오.
[SQL 문]
( 1. ) TABLE 학생 ( 2. ) 주소 VARCHAR(20);
풀이 :
속성 추가 : ALTER ~ ADD
ALTER TABLE 학생
ADD 주소 VARCHAR(20);
답 : 1. ALTER , 2. ADD
[2020-2회] 6. 학생 테이블은 학번, 이름, 학년, 수강과목, 점수, 연락처를 속성으로 가진다. 아래 조건을 만족하는 SQL문을 작성하시오.
1) 학생 테이블에서 3,4학년인 학번, 이름을 조회한다.
2) IN 연산자 사용해야 한다.
[테이블 명 : 학생]
풀이 :
SELECT 학번, 이름
FROM 학생
WHERE 학년 IN (3 , 4) ;
[2020-2회] 12. 학생 테이블의 name속성에 IDX_NAME 이름으로 인덱스 생성하는 SQL문을 작성하시오.
[테이블 명 : 학생]
풀이 :
'학생 테이블의 NAME 속성을 이용해 IDX_NAME 이름의 인덱스를 생성'
답 :
CREATE INDEX IDX_NAME
ON 학생(NAME) ;
[2020-1회] 6. STUDENT 테이블에서 컴퓨터과 학생 50명, 인터넷과 학생 100명, 사무자동화과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과에 따른 튜플의 수는? (단, DEPT 칼럼은 학과명이다.)
1) SELECT DEPT FROM STUDENT;
2) SELECT DISTINCT DEPT FROM STUDENT;
3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '컴퓨터과';
풀이 :
1) STUDENT 테이블에서 DEPT 값을 출력
50 + 100 + 50 = 200
2) STUDENT 테이블에서 DEPT 값을 출력 (DISTINCT : 중복 금지)
1 + 1 + 1 (컴퓨터과 , 인터넷과, 사무자동화과) = 3
3) STUDENT 테이블에서 DEPT = '컴퓨터과' 인 DEPT 값을 COUNT
1
CF) SELECT DISTINCT COUNT(DEPT) FROM STUDENT WHERE DEPT = '컴퓨터과';
COUNT 밖에 DISTINCT 가 있다면,
COUNT(DEPT) |
50 |
'정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 2023년도 2회차 정리 (0) | 2023.07.24 |
---|---|
[정보처리기사 - 실기] 프로그래밍 언어 활용 - 미묘한 부분 정리 (0) | 2023.07.13 |
정보처리기사 2021년 3회 필기 기출 정리 (0) | 2023.04.16 |
정보처리기사 2022년 1회 필기 기출 정리 (1) | 2023.04.15 |
정보처리기사 2022년 2회 필기 기출 정리 (0) | 2023.04.15 |