
오늘의 학습 목표
오늘 끝나면 아래 정도는 되어야 합니다.
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 정렬기준;
읽는 순서 느낌:
FROM에서 테이블을 가져오고WHERE로 조건에 맞는 행만 남기고SELECT로 필요한 열만 보여주고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. 소프트웨어 생명주기란?
소프트웨어를 만들고 운영하고 폐기할 때까지 거치는 전체 과정을 말합니다.
주요 단계:
- 요구사항 분석
- 설계
- 구현
- 테스트
- 유지보수
짧게 외우면:
- 분석
- 설계
- 구현
- 테스트
- 유지보수
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: 범위 검색
소프트웨어 생명주기:
분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
폭포수: 순차적
애자일: 반복, 피드백
나선형: 위험 분석 중심'웹디자인기능사 > 웹디자인기능사 실기' 카테고리의 다른 글
| 정보처리기사 실기, 한달 안에 직장인도 가능한 현실적인 공부표 (0) | 2026.03.24 |
|---|---|
| 웹디자인기능사 실기 시험 기본 정보 (1) | 2024.06.04 |