※ 정답은 맨 아래에 있습니다.
01.데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL은?
① 트리거(Trigger) ② 무결성(Integrity)
③ 잠금(Lock) ④ 복귀(Rollback)
해설 :
트리거 : 데이터베이스 시스템에서 삽입,갱신,삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
무결성: 데이터베이스에 저장된 데이터 값과 그것이 표현하는 실제 값이 일치하는 정확성
잠금 : 같은 자원을 엑세스하는 다중 트랜잭션 환경에서 DB의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
복귀 : 데이터베이스에서 업데이트 오류가 발생할 때, 이전 상태로 되돌리는 명령어
02.SQL에서 스키마(Schema),도메인(Domain), 테이블(Table), 뷰(View), 인덱스(Index)를 정의하거나 변경 또는 삭제할 때 사용하는 언어는?
① DML(Data Manipulation Language)
② DDL(Data Definition Language)
③ DCL (Data Control Language)
④ IDL(Interactive Data Language)
해설 :
SQL에서 스키마(Schema), 도메인(Domain), 테이블(Table), 뷰(View), 인덱스(index)를 정의하거나 변경 또는 삭제할 때 사용하는 언어는 DDL이다.
데이터 정의어 (DDL) :
- 데이터 정의어는 데이터를 정의 하는 언어
- 테이블이나 관계의 구조를 생성하는데 사용
- CREATE,ALTER,DROP,TRUNCATE문이 있다.
데이터 조작어 (DML) :
- 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어
- SELECT,INSERT,UPDATE,DELETE 문이 있다.
- SELECT문은 특별히 질의어(Query)라고 부른다.
데이터 제어어 (DCL) :
- 데이터베이스 관리자가 데이터 보안, 무결성 유지,병행 제어, 회복을 위해 사용하는 제어용 언어
- GRANT, REVOKE 문이 있다.
03. 다음 BETWEEN 연산의 의미와 동일한 것은?
SELECT * FROM 성적 WHERE (점수 BETWEEN 90 AND 95) AND 학과="컴퓨터공학과" |
① 점수 >= 90 AND 점수 <= 95
② 점수 > 90 AND 점수 < 95
③ 점수 > 90 AND 점수 <= 95
④ 점수 >= 90 AND 점수 < 95
해설 :
- BETWEEN A AND B의 경우 'A보다 크거나 같고, B보다 작거나 같다'라는 것을 의미한다.
- "점수 BETWEENT 90 AND 95"는 "점수 >= 90 AND 점수 <= 95"이다.
04. SQL의 논리 연산자가 아닌 것은?
① AND
② OTHER
③ OR
④ NOT
해설 :
SQL의 논리 연산자에는 AND, OR, NOT이 있다.
05.player 테이블에는 player_name, team_id, heigh 컬럼이 존재한다. 아래 SQL 문에서 문법적 오류가 있는 부분은?
(1) SELECT player_name, height (2) FROM player (3) WHERE team_id = 'Korea' (4) AND height BETWEEN 170 OR 180; |
해설 :
값 1보다 크거나 같고, 값 2보다 작거나 같을 경우 BETWEEN을 사용할 경우 문법은 다음과 같다.
속성명 BETWEEN 값1 AND 값2;
06."회사원"이라는 테이블에서 "사원명"을 검색할 때, "연락번호"가 NULL 값이 아닌 "사원명"을 모두 찾을 경우의 SQL 질의로 옳은 것은?
① SELECT 사원명 FROM 회사원 WHERE 연락번호 != NULL;
② SELECT 사원명 FROM 회사원 WHERE 연락번호 <>= NULL;
③ SELECT 사원명 FROM 회사원 WHERE 연락번호 IS NOT NULL;
④ SELECT 사원명 FROM 회사원 WHERE 연락번호 DON'T NULL;
해설 :
07.학적 테이블에서 전화번호가 NULL 값이 아닌 학생명을 모두 검색 할 때, SQL 구문으로 옳은 것은?
① SELECT 학생명 FROM 학적 WHERE 전화번호 DON'T NULL;
② SELECT 학생명 FROM 학적 WHERE 전화번호 != NOT NULL;
③ SELECT 학생명 FROM 학적 WHERE 전화번호 IS NOT NULL;
④ SELECT 학생명 FROM 학적 WHERE 전화번호 IS NULL;
해설 :
08.아래와 같은 결과를 만들어내는 SQL 문은?
[공급자 테이블]
공급자번호 | 공급자명 | 위치 |
1 | 대신공업사 | 수원 |
2 | 삼진사 | 서울 |
3 | 삼양사 | 인천 |
4 | 진아공업사 | 대전 |
5 | 신촌상사 | 서울 |
[결과]
공급자번호 | 공급자명 | 위치 |
1 | 대신공업사 | 수원 |
5 | 신촌상사 | 서울 |
① SELECT * FROM 공급자 WHERE 공급자명 LIKE '%신%'
② SELECT * FROM 공급자 WHERE 공급자명 LIKE '대%'
③ SLEECT * FROM 공급자 WHERE 공급자명 LIKE '%사'
④ SELECT * FROM 공급자 WHERE 공급자명 LIKE '_사'
해설 :
공급자명에는 '신'이라는 글자가 들어가므로 LIKE문에 '%신%'으로 검색해야 결과 테이블처럼 조회가 된다.
LIKE '%키워드%' %와 %사이에 키워드가 포함된 경우 : 키워드가 들어가 있는 문자열 검색
정답 :
01 : ①
02 : ②
03 : ①
04 : ②
05 : ④
06 : ③
07 : ③
08 : ①
Source: 2023 수제비 정보처리기사
https://product.kyobobook.co.kr/detail/S000200275590
'SQL' 카테고리의 다른 글
Sql 연습 문제③ (0) | 2023.06.05 |
---|---|
SQL 연습 문제 ② (0) | 2023.06.01 |
SQL 연습 문제 ① (0) | 2023.06.01 |
SQL 연습 문제(中) (0) | 2023.06.01 |
SQL 문제 연습(下) (0) | 2023.06.01 |