-
🚩 20241231_수업내용()DW아카데미 개발자과정/24년 12월 2024. 12. 31. 12:49
지난 수업 내용 ~*
두 개의 테이블에서 조회하는 방법
select * from student , department ;
두 개 테이블에서 조건을 충복하는 데이터 조회
<.> 접근연산자 - ~에 접근하겠다.
select * from department, professor
where department.dept_no= professor.dept_no ;
두개의 테이블을 사용할 때는 각 테이블에서 연결시켜줄만한 컬럼을 찾아야한다
order by (정렬하기)
ordry by 기준이 될 컬럼명
group by (그룹하기)
- gtoup by 데이터들을 그룹화 목적으로 사용한다
- 그룹화는 데이터들이 그룹명으로 소송되는 이믜
- 그룹과 상태ㅔ서는 일반적인 컬럼명으로 조회 불가
- 함수를 이용해서 각 그룹별 데이터 조회가능
그룹화를 시키면 데이터를 하나씩 뽑아내는게 불가함
------ 그룹화가 필요한 이유는 데이터를 요약, 집계, 계산할 목적
------ 그룹화하여 데이터를 그룹별로 비교하거나 패턴 파악
테이블 두개 이상 그룹화하려면 그룹에 데이터를 연결해줘야함
동작(group by)이 되는 과정
select 학과, avg(점수) from 학생 group by 학과;
1. from - 학생 테이블에서 전체 데이터를 가져온다
2. group by 학과
ㄴ 학과 기준으로 데이터를 그룹화
ex. 그룹1 컴공 { ( 1001, 1, 85 ) , (1003, 2, 80 ) }
그룹2 정보과학과 { ( 1002, 1, 90 ) , (1004, 2, 75 ) }
3. avg 함수 실행
각 그룹의 평균 점수를 계산
4. select 학과, avg(점수)로 데이터 출력
학과-컴공 점수-82.5
학과-정보과학과 점수-82👀 문제 풀어보기
1. 강의테이블에서 요일별 시작시간의 평균을 구하세요.
select day_week , avg(start_time)from lecturegroup by day_week;
2. 교수 테이블에서 직급별로 가장 낮은 호봉 출력
select grade , min(pay_step) from professorgroup by grade ;
3. 학생 테이블과 등록 테이블에서 학년별 학생들이 수강한 과목수 출력
select year, count(c_no) from student s , enrollment e where s.s_no=e.s_no group by s.year;
select dept, avg(e.merits) as 평균점수from enrollment e , student s where e.s_no=s.s_nogroup by s.dept order by avg(평균점수) desc;
5. 학년별 최고 점수
6. 강의별 평균 점수
* 조건 그룹화 문제
1. 학년별 80점 이상 받은 학생수select s.year , count(e.s_no) as 학생수 from student s , enrollment e where s.s_no = e.s_no and e.merits >=80 group by s.year;
select l.day_week , count(distinct l.c_no)from lecture l , enrollment e where l.c_no =e.c_nogroup by l.day_week having count(e.s_no) >= 5;
3. 강의실별 평균 점수가 78점 이상인 강의 수는?
select l.room_no , count(distinct l.c_no)from lecture l , enrollment e where l.c_no=e.c_no group by l.room_no having avg(e.merits) >= 78;
'DW아카데미 개발자과정 > 24년 12월' 카테고리의 다른 글
🚩 20241230_수업내용(지난 수업 내용 총정리/order by/group by/) (1) 2024.12.30 ✔ 202412227_과제(쿠팡 로켓직구 테이블설계) (0) 2024.12.30 🚩 20241226_수업내용(테이블 만들기 복습(동물보호/네이버푸드)/dbeaver에 저장하기) (2) 2024.12.26 🚩 20241224_수업내용(정규화 복습/테이블 만들기 복습) (0) 2024.12.24 ✔ 202412223_과제(자료구조/1정규화,2정규화,3정규화) (0) 2024.12.23