웹디자인기능사/웹디자인기능사 실기

정보처리기사 실기 - 1일차 (SQL 기본기, 소프트웨어 생명주기, 개발방법론)

siimplelab 2026. 3. 25. 00:25
반응형

오늘의 학습 목표

오늘 끝나면 아래 정도는 되어야 합니다.

  • SELECT, WHERE, ORDER BY가 각각 무슨 역할인지 설명할 수 있다.
  • =, <>, >, <, LIKE, IN, BETWEEN을 보고 조건 의미를 해석할 수 있다.
  • 간단한 SQL 문제를 읽고 결과를 예상할 수 있다.
  • 소프트웨어 생명주기와 폭포수, 애자일, 나선형 모델의 차이를 말할 수 있다.

1. SQL 기본 문법 정리

1-1. SELECT

SELECT는 테이블에서 원하는 열(column)을 조회할 때 사용합니다.

기본형:

SELECT 열이름
FROM 테이블이름;

예시:

SELECT name
FROM student;

의미:

  • student 테이블에서
  • name 열만 조회한다

여러 열 조회:

SELECT student_id, name, grade
FROM student;

모든 열 조회:

SELECT *
FROM student;

여기서 *는 모든 열을 뜻합니다.

핵심:

  • SELECT는 무엇을 보여줄지 결정
  • FROM은 어디서 가져올지 결정

1-2. WHERE

WHERE는 조건을 걸 때 사용합니다.

기본형:

SELECT 열이름
FROM 테이블이름
WHERE 조건;

예시:

SELECT name
FROM student
WHERE grade = 3;

의미:

  • student 테이블에서
  • grade가 3인 행만 골라서
  • name만 보여준다

핵심:

  • WHERE는 행(row)을 필터링한다
  • 조건에 맞는 데이터만 남긴다

1-3. ORDER BY

ORDER BY는 정렬할 때 사용합니다.

기본형:

SELECT 열이름
FROM 테이블이름
ORDER BY 열이름;

오름차순:

SELECT name, score
FROM student
ORDER BY score ASC;

내림차순:

SELECT name, score
FROM student
ORDER BY score DESC;

의미:

  • ASC: 작은 값부터 큰 값 순
  • DESC: 큰 값부터 작은 값 순

핵심:

  • ORDER BY는 결과를 정렬한다
  • 숫자, 문자, 날짜 모두 정렬 가능하다

2. 조건식과 비교 연산자 정리

2-1. 기본 비교 연산자

같다

WHERE grade = 3

의미: grade가 3인 데이터

같지 않다

WHERE grade <> 3

또는

WHERE grade != 3

의미: grade가 3이 아닌 데이터

크다

WHERE score > 80

작다

WHERE score < 80

크거나 같다

WHERE score >= 80

작거나 같다

WHERE score <= 80

2-2. AND, OR, NOT

AND

두 조건을 모두 만족해야 함

SELECT *
FROM student
WHERE grade = 3 AND score >= 80;

의미:

  • 3학년이면서
  • 점수가 80 이상

OR

두 조건 중 하나만 만족해도 됨

SELECT *
FROM student
WHERE grade = 3 OR grade = 4;

의미:

  • 3학년 또는 4학년

NOT

조건 부정

SELECT *
FROM student
WHERE NOT grade = 3;

의미:

  • grade가 3이 아닌 데이터

3. LIKE, IN, BETWEEN 정리

3-1. LIKE

LIKE는 문자열 패턴 검색에 사용합니다.

%

글자가 0개 이상 아무거나 올 수 있음

SELECT *
FROM student
WHERE name LIKE '김%';

의미:

  • 이름이 김으로 시작하는 데이터

예:

  • 김민수
  • 김영희

_

글자 1개를 뜻함

SELECT *
FROM student
WHERE name LIKE '김_수';

의미:

  • 김 + 한 글자 + 수 형태

예:

  • 김민수
  • 김철수

핵심:

  • %는 여러 글자 가능
  • _는 정확히 한 글자

3-2. IN

여러 값 중 하나와 일치하는지 볼 때 사용합니다.

SELECT *
FROM student
WHERE grade IN (1, 2, 3);

의미:

  • grade가 1 또는 2 또는 3인 데이터

이것은 아래와 비슷합니다.

WHERE grade = 1 OR grade = 2 OR grade = 3

핵심:

  • OR를 여러 번 쓰는 대신 간단하게 표현

3-3. BETWEEN

범위 조건을 줄 때 사용합니다.

SELECT *
FROM student
WHERE score BETWEEN 70 AND 90;

의미:

  • score가 70 이상 90 이하

즉, 양쪽 끝값이 포함됩니다.

같은 의미:

WHERE score >= 70 AND score <= 90

핵심:

  • BETWEEN A AND B는 A 이상 B 이하

4. SQL 실행 순서 감각 잡기

시험에서는 이 순서를 아주 깊게 묻지 않아도, 해석할 때 감각이 필요합니다.

작성 순서:

SELECT 열
FROM 테이블
WHERE 조건
ORDER BY 정렬기준;

읽는 순서 느낌:

  1. FROM에서 테이블을 가져오고
  2. WHERE로 조건에 맞는 행만 남기고
  3. SELECT로 필요한 열만 보여주고
  4. ORDER BY로 정렬한다

이 감각이 있어야 SQL 문장을 읽기 쉬워집니다.


5. 예제 테이블로 연습하기

아래 테이블을 기준으로 문제를 풀어보겠습니다.

STUDENT 테이블

student_id name grade score city
1 김민수 1 85 서울
2 이영희 2 92 부산
3 박철수 3 76 서울
4 최수진 2 88 대전
5 정민호 1 95 부산

6. SQL 기출형 연습문제 10문제

문제 1

다음 SQL의 실행 결과로 조회되는 name은?

SELECT name
FROM STUDENT
WHERE grade = 2;

정답:

  • 이영희
  • 최수진

해설:
grade가 2인 행만 찾으면 2번, 4번 학생입니다.


문제 2

다음 SQL의 결과로 조회되는 학생 수는?

SELECT *
FROM STUDENT
WHERE score >= 90;

정답:

  • 2명

해설:
90 이상은 이영희(92), 정민호(95)


문제 3

다음 SQL의 결과를 쓰시오.

SELECT name
FROM STUDENT
WHERE city = '서울'
ORDER BY score DESC;

정답:

  • 김민수
  • 박철수

해설:
서울 학생은 김민수(85), 박철수(76)이고 점수 내림차순이므로 김민수 먼저입니다.


문제 4

다음 조건에 해당하는 SQL로 가장 알맞은 것은?

“점수가 80 이상 90 이하인 학생 조회”

정답:

SELECT *
FROM STUDENT
WHERE score BETWEEN 80 AND 90;

해설:
BETWEEN은 이상, 이하를 포함합니다.


문제 5

다음 SQL의 의미를 쓰시오.

SELECT *
FROM STUDENT
WHERE name LIKE '김%';

정답:

  • 이름이 '김'으로 시작하는 학생 조회

해설:
%는 뒤에 어떤 문자열이 와도 된다는 뜻입니다.


문제 6

다음 SQL의 결과 학생은 누구인가?

SELECT name
FROM STUDENT
WHERE city IN ('부산', '대전');

정답:

  • 이영희
  • 최수진
  • 정민호

해설:
부산 또는 대전 거주 학생을 찾으면 됩니다.


문제 7

다음 SQL의 결과를 쓰시오.

SELECT name
FROM STUDENT
WHERE grade <> 1;

정답:

  • 이영희
  • 박철수
  • 최수진

해설:
1학년이 아닌 학생을 찾는 문제입니다.


문제 8

다음 SQL의 결과 순서를 쓰시오.

SELECT name, score
FROM STUDENT
ORDER BY score ASC;

정답:

  • 박철수, 76
  • 김민수, 85
  • 최수진, 88
  • 이영희, 92
  • 정민호, 95

해설:
오름차순이므로 작은 점수부터 정렬합니다.


문제 9

다음 SQL의 결과 학생 수는?

SELECT *
FROM STUDENT
WHERE grade = 1 AND city = '부산';

정답:

  • 1명

해설:
1학년이면서 부산인 학생은 정민호 한 명입니다.


문제 10

다음 SQL의 의미로 가장 알맞은 것은?

SELECT *
FROM STUDENT
WHERE name LIKE '_영희';

정답:

  • 이름이 한 글자 + 영희 형태인 학생 조회

해설:
_는 정확히 한 글자입니다. 예를 들어 이영희는 해당됩니다.


7. 오늘 꼭 외워야 할 SQL 포인트

이 부분은 짧게 암기하면 됩니다.

  • SELECT: 열 조회
  • FROM: 테이블 지정
  • WHERE: 조건
  • ORDER BY: 정렬
  • ASC: 오름차순
  • DESC: 내림차순
  • LIKE '%문자%': 특정 문자가 포함된 패턴
  • IN (값1, 값2): 여러 값 중 하나
  • BETWEEN A AND B: A 이상 B 이하
  • AND: 모두 만족
  • OR: 하나 이상 만족

8. 이론 학습자료: 소프트웨어 생명주기

이제 이론 파트입니다. 정보처리기사 실기에서는 길게 설명하는 것보다 핵심 개념을 구분하는 것이 중요합니다.

8-1. 소프트웨어 생명주기란?

소프트웨어를 만들고 운영하고 폐기할 때까지 거치는 전체 과정을 말합니다.

주요 단계:

  1. 요구사항 분석
  2. 설계
  3. 구현
  4. 테스트
  5. 유지보수

짧게 외우면:

  • 분석
  • 설계
  • 구현
  • 테스트
  • 유지보수

8-2. 요구사항 분석

사용자가 무엇을 원하는지 파악하는 단계입니다.

예:

  • 회원가입 기능이 필요하다
  • 결제 기능이 필요하다
  • 관리자 페이지가 필요하다

핵심:

  • 무엇을 만들지 정하는 단계

8-3. 설계

구조를 만드는 단계입니다.

예:

  • 데이터베이스 테이블 설계
  • 화면 구조 설계
  • 시스템 구조 설계

핵심:

  • 어떻게 만들지 계획하는 단계

8-4. 구현

실제로 코드를 작성하는 단계입니다.

예:

  • Java, Python, SQL 등으로 프로그램 개발

핵심:

  • 실제 개발 단계

8-5. 테스트

제대로 동작하는지 확인하는 단계입니다.

예:

  • 로그인 기능이 정상 동작하는지 확인
  • 잘못된 값 입력 시 오류 처리 확인

핵심:

  • 오류를 찾고 수정하는 단계

8-6. 유지보수

배포 후 수정, 개선, 오류 보완을 하는 단계입니다.

예:

  • 버그 수정
  • 성능 개선
  • 기능 추가

핵심:

  • 운영 이후 관리 단계

9. 개발 방법론 정리

9-1. 폭포수 모델

이전 단계가 끝나야 다음 단계로 넘어가는 순차적 방식입니다.

순서:
요구사항 → 설계 → 구현 → 테스트 → 유지보수

특징:

  • 단계가 명확함
  • 문서화에 유리함
  • 변화 대응이 느림
  • 이전 단계로 되돌아가기 어려움

한 줄 암기:

  • 순차적 진행, 변경에 약함

9-2. 애자일 모델

짧은 주기로 개발과 피드백을 반복하는 방식입니다.

특징:

  • 변화에 빠르게 대응
  • 고객과 소통이 중요
  • 짧은 반복 개발
  • 실무에서 많이 사용됨

한 줄 암기:

  • 반복적 개발, 빠른 피드백, 변화 대응 강함

대표 예:

  • 스크럼
  • 칸반

9-3. 나선형 모델

위험 분석을 중심으로 반복 개발하는 방식입니다.

특징:

  • 계획 수립
  • 위험 분석
  • 개발
  • 고객 평가
    이 과정을 반복합니다.

장점:

  • 위험이 큰 프로젝트에 적합
  • 점진적으로 완성도 향상

단점:

  • 관리가 복잡
  • 비용이 커질 수 있음

한 줄 암기:

  • 위험 분석 중심의 반복 모델

10. 이론 비교 정리

폭포수 / 애자일 / 나선형 비교

구분 폭포수 애자일 나선형
진행 방식 순차적 반복적 반복적
특징 단계별 진행 빠른 피드백 위험 분석 중심
장점 관리 쉬움 변화 대응 좋음 대형·고위험 프로젝트 적합
단점 변경 대응 약함 문서화 약할 수 있음 복잡하고 비용 큼

암기 포인트:

  • 폭포수 = 순차
  • 애자일 = 유연
  • 나선형 = 위험분석

11. 이론 확인문제

문제 1

소프트웨어 생명주기의 올바른 순서는?

정답:

  • 요구사항 분석 → 설계 → 구현 → 테스트 → 유지보수

문제 2

폭포수 모델의 특징으로 가장 알맞은 것은?

정답:

  • 단계별로 순차적으로 진행된다

문제 3

애자일 모델의 특징으로 가장 알맞은 것은?

정답:

  • 짧은 개발 주기와 빠른 피드백을 반복한다

문제 4

나선형 모델의 핵심 특징은?

정답:

  • 위험 분석을 중심으로 반복 개발한다

문제 5

소프트웨어 생명주기 중 실제 코드를 작성하는 단계는?

정답:

  • 구현

12. 오늘 공부 마무리 체크리스트

오늘 끝나기 전에 아래를 확인하세요.

  • SELECT, WHERE, ORDER BY 역할을 말할 수 있는가
  • LIKE, IN, BETWEEN 차이를 설명할 수 있는가
  • SQL 10문제를 직접 풀었는가
  • 소프트웨어 생명주기 5단계를 외웠는가
  • 폭포수, 애자일, 나선형 차이를 구분할 수 있는가

13. 오늘 복습용 초압축 노트

시험 직전처럼 짧게 보면 이 정도입니다.

SELECT: 열 조회
FROM: 테이블
WHERE: 조건
ORDER BY: 정렬
ASC: 오름차순
DESC: 내림차순
LIKE: 패턴 검색
IN: 여러 값 중 하나
BETWEEN: 범위 검색

소프트웨어 생명주기:
분석 -> 설계 -> 구현 -> 테스트 -> 유지보수

폭포수: 순차적
애자일: 반복, 피드백
나선형: 위험 분석 중심
반응형