● SQL 데이터 계산
- SQL 계산
가장 기본적인 연산자( +, -, *, / )로도 SQL에서 사용 가능
예)


- SQL과 엑셀의 함수 계산 차이
데이터의 범위가 아닌 계싼할 '컬럼'을 적어준다.
+ 함수 종류
1. 합계 : SUM(컬럼)
2. 평균 : AVG(컬럼)
예) 상품의 준비시간의 합계와 평균 구하


- 전체 데이터의 갯수 구하기
+ 함수 종류
데이터 갯수 : COUNT(컬럼)
컬럼명 대신 1 혹은 * 사용 가능(모든 데이터의 갯수를 세줘)
몇개의 값을 가지고 있는지 구함 : DISTINCT
예) 주문건 10개, 주문자 5명
COUNT(1) -> 10
DISTINCT -> 5
예시) 주문건수와 주문한 고객 수 구하기


- 데이터의 범위, 최솟값, 최댓값
+ 함수 종류
최솟값 : MIN(컬럼)
최댓값 : MAX(컬럼)
예시) 주문 가격의 최솟값, 최댓값 구하기


★ SQL문 작성할때 flow 생각하기★
예) 주문 금액이 30,000원 이상인 주문건의 갯수 구하기
- Query를 적기 전에 흐름을 정리
1. 어떤 테이블에서 데이터를 뽑을지 -> 주문테이블
2. 어떤 컬럼을 이용할지 -> 주문 금액, 주문 번호
3. 어떤 조건을 지정해야할지 -> 30,000원 이상
4. 어떤 함수(수식)을 이용해야할지 -> 갯수 구하는 수식
- 구문으로 만들기
1. 어떤 테이블에서 데이터를 뽑을지 -> from food_orders
2. 어떤 컬럼을 이용할지 -> order_id, price
3. 어떤 조건을 지정해야할지 -> where price>=30000
4. 어떤 함수(수식)을 이용해야할지 -> count(order_id) 혹은 count(1)
- 전제 구조로 합치기


- 범주별 연산 한번에 하기 (GROUP BY)
음식 종류별로 평균 음식 가격을 구하기 위해 where절을 사용해서 많은 query를 작성하면 비효율적임
-> 카테고리를 지정하여 수식함수로 연산을 할 수 있다 = Group by
-Group by 기본 구조
카테고리 컬럼 지정, 그리고 Group by를 적어주는 것
예) 음식 종류별 주문 금액 합계


- Query결과 정렬하여 사용(ORDER BY)
정렬문 Order by의 기본구조
카테고리 컬럼 지정, 그리고 Order by를 적어주는 것
예) 음식 종류별 주문 금액 합계를 '주문 금액 합계' 기준으로 오름차순 정렬


+정렬의 종류
오름차순은 구문 생략 : order by sum(price)
내림차순은 desc구문을 뒤에 붙임 : order by sum(price) desc
★ SQL문의 가장 기본 구조 ★

예) 구조 맞추기
1. order by sum(delivery_time) desc
2. group by cuisine_type
3. where day_of_week = 'Weekend"
4. from food_orders
5. select cuisine_type, sum(delivery_time) total_delivery_time
-> 5 - 4- 3 - 2 - 1
[실습]
음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로(내림차순) 정렬하기
- MIN, MAX, 내림차순(desc)를 활용
- 흐름을 파악해야됨.

● 생성형 AI과 LLM 원리
- LLM이란
Large Language Model(거대 언어 모델) : 보통 생성형 AI를 말함. 언어를 먹고 언어를 뱉는 AI (하지만 언어를 이해하지 못함)
1. 문장을 수치화(벡터화) : 임베딩
2. 임베딩을 완료한 정보를 바탕으로 트랜스포머 연산을 통해 이해
한계 : 임베딩하는 과정 자체는 자동화가 가능하지만, 문장을 가져다주는것과 과정을 만들어주는 거는 직접 해야됨.(비효율)
- Fine-tuning, RAG
Fine-tuning(미세조정) : LLM의 특정매개변수를 수정하는 작업
+ 새로운 DATE set을 학습
+ LLM의 답변 자유도 값(Temperature)를 수정
+ LLM의 답변 최대 길이를 수정
장점 : 비교적 작업속도가 빠름 (매개변수만 조정하면 됨)
단점 : 결과를 보는데 시간이 오래 걸리고 결과가 마음에 들지 않으면 미세조정을 새로 해야함.
RAG(검색증강생성) 활용 : LLM이 참고해서 답변을 만들 수 있는 새로운 정보의 장을 활용하는 방법
기존의 학습된 내용 + 추가적인 정보
예) 웹에 있는 내용을 참고, 서버의 문서 내용을 참고, 핸드폰의 그림 참고
단순히 웹에 있는 거 혹은 문서에 있는 내용을 스크래핑해서 보여주기만 하는건 RAG라고 하지 않음. (수집만 해서 보여줌)
LLM 모델이 스스로 가공을 해서 보여줘야지만 RAG라고 함. (AI가 먹고 소화하고 가공해서 줌)
장점 : 별도의 학습을 시키지 않아도 됨. 추가적인 정보만 제공해주면 됨
단점 : RAG를 설계, 구축, 적용, 유지보수 작업이 필요함. 비용 ↑
과제 : LLM을 활용해서 내 직무관련 업무의 문서 만들어 보기
일탈 보고서 (Deviation Report)
1. 기본 정보
- 문서번호: DEV-2026-001
- 발생일자: 2026.04.22
- 발생부서: 생산팀 / 포장공정
- 보고부서: 품질보증(QA)팀
- 작성자: 홍길동
- 검토자: QA 책임자
2. 일탈 내용
2026년 4월 22일 포장공정 진행 중 완제품 A 품목의 라벨 부착 작업 과정에서 승인본이 아닌 이전 개정본 라벨이 일부 수량에 사용된 사실이 출하 전 최종검사 단계에서 확인되었다.
해당 라벨은 제품명 및 제조번호 정보는 동일하였으나, 보관조건 문구가 최신 승인본과 상이하였다.
3. 발견 경위
출하 전 QA 최종 외관검사 과정에서 라벨 문구 검토 중 승인본과 상이한 사항이 확인되어 즉시 생산팀 및 QA팀에 보고하였다.
4. 즉시 조치 사항
- 해당 제조번호(Lot) 제품 전량 출하 보류 조치
- 작업 중인 포장라인 즉시 중지
- 포장 완료 제품 전량 격리 후 전수검사 진행
- 구버전 라벨 전량 회수 및 폐기 조치
5. 영향성 평가
- 제품 품질: 내용물 품질에는 직접 영향 없음
- 환자 안전성: 보관조건 문구 상이로 정보 전달 오류 가능성 존재
- 규정 준수: 승인 문서 미사용으로 GMP 절차 위반 사항 해당
- 출하 영향: 재포장 및 재검수로 출하 일정 지연 가능성 있음
6. 원인 조사 (LLM 정리 기반 5 Why)
구분내용
| Why 1 | 왜 구버전 라벨이 사용되었는가? → 작업 현장 보관함에 잔여 라벨이 남아 있었음 |
| Why 2 | 왜 잔여 라벨이 남아 있었는가? → 개정 후 구버전 회수 절차가 미흡했음 |
| Why 3 | 왜 회수 절차가 미흡했는가? → 문서 개정 후 현장 점검 확인이 누락됨 |
| Why 4 | 왜 점검이 누락되었는가? → 담당자 역할 구분이 명확하지 않았음 |
| Why 5 | 왜 역할이 불명확했는가? → SOP 내 폐기 책임자 지정 항목이 부족했음 |
7. 시정 및 예방조치 (CAPA)
시정조치(Correction)
- 해당 Lot 전량 재포장 실시
- 승인본 라벨 재출력 후 교체 작업 진행
- 출하 전 QA 재검사 수행
예방조치(Preventive Action)
- 라벨 개정 시 구버전 즉시 회수 절차 SOP 개정
- 포장라인 시작 전 승인본 확인 체크리스트 운영
- 생산팀 전 직원 대상 문서관리 재교육 실시
- 월 1회 현장 문서 점검 실시
8. 결론
본 일탈은 승인되지 않은 구버전 라벨 사용으로 인해 발생하였으며, 제품 내용물 품질에는 영향이 없으나 표시사항 관리 절차 미준수 사례로 판단된다. 재포장 및 CAPA 시행 후 동일 사례 재발 방지가 가능할 것으로 평가된다.
9. 승인
- 작성: __________________
- 검토(QA): __________________
- 승인(QA 책임자): __________________
● 학습하며 겪었던 문제점 & 에러
SQL문을 작성할 때 flow를 파악하고 순서를 정리 하는 것에 어려움을 느꼈습니다. 반복적으로 흐름정리-구문 만들기- 전제 구조로 합치기를 연습하면서 컬럼에 무엇이 들어가야하는지 눈에 보이기 시작했고, 신경써야하는(내림차순 desc 사용) 부분을 놓치지 않으면서 완성형 SQL문을 만들 수 있었습니다.
LLM과 Fine-tuning, RAG의 각각 장단점을 구분하면서 AI를 작업하는 데 있어 하나만 사용하는 것이 아는 복합학습을 하여 더욱 정교화시켜 지금 실제로 사용하고 있는 AI들이 만들어진 것이라고 느꼈습니다.
● 내일 학습 할 것
데이터 가공하기
프롬프트 기초- AI에게 잘 묻는 법