1. 사용 파일 : 엑셀 샘플 파일
  2. 사용 시트 : tbook
  3. 다양한 검색 방법
    1. 엑셀의 고급 필터
    2. 데이터베이스의 SQL
    3. 판다스의 필터
  4. 출판사가 성안당인 것만 검색
    1. 엑셀
    2. SQL : SELECT * FROM tbook WHERE 출판사=”성안당”;
    3. 판다스
  5. WHERE  절에 사용할 수 있는 연산자
    1. 비교 : =,  <>,  <,  <=,  >,  >=
    2. 범위 : BETWEEN
    3. 집합 : IN,  NOT IN
    4. 패턴 : LIKE
    5. NULL : IS NULL,  IS NOT NULL
    6. 복합조건 : AND, OR, NOT
  6.  검색 문제
    1. 출판년도가 1998인 목록 검색
    2. 출판년도가 1999~2003인 목록 검색(2가지 방법으로)
    3. 출판년도가 2002 또는 2005인 목록 검색
    4. 청구기호가 005로 시작하는 목록 검색
    5. 저자가 김씨인 목록 검색
    6. 자료명에 데이터베이스가 포함된 목록 검색
    7. 저자가 김씨 또는 이씨인 목록 검색
    8. 출판사가 길벗, 이한, 구민사, 정일 인 목록 검색(2가지 방법으로)
    9. 자료명에 데이터베이스가 포함되지 않는 목록 검색
    10. ISBN이 없는(NULL인) 목록 검색
    11. 저자이름이 호로 끝나는 목록 검색
    12. 출판년도가 2로 끝나는 목록 검색(출판년도를 숫자로 저장한 경우)
    13. 모든 출판사만 검색
    14. 중복된 출판사는 1번만 출력되도록 모든 출판사를 검색
  7. 정렬 문제
    1. 자료명(도서명)의 오름차순으로 검색
    2. 출판년도 순으로 검색하고, 출판년도가 같으면 자료명(도서명) 순으로 검색
    3. 출판년도 내림차순으로 검색하고, 출판년도가 같으면 자료명(도서명) 오름차순으로 검색
    4. Pandas : sort_values(by=열, ascending=False)
  8. 집계함수 문제
    1. 집계함수 : SUM(), AVG(), MIN(), MAX(), COUNT()
    2. Pandas 통계함수 : count(), value_counts(), mean(), median(), max(), min(), std(), corr(),
    3. 출판년도의 평균을 검색
    4. 가장 최근 출판년도 검색
    5. 가장 오래된 출판년도 검색
  9. GROUP BY 검색
    1. GROUP BY로 트플을 그룹으로 묶은 후 SELECT 절에는 GROUP BY에서 사용한 <속성>과 집계함수만 나올 수 있다.
      1. SELECT custid, SUM(saleprice) FROM orders GROUP BY custid;  -> 올바른 예
      2. SELECT bookid, SUM(saleprice) FROM orders GROUP BY custid;  -> 틀린 예
    2. WHERE 절과 HAVING 절이 같이 포함된 SQL 문은 검색조건이 모호해질 수 있다. HAVING 절은 1) 반드시 GROUP BY 절과 같이 작성해야하고, 2) WHERE 절보다 뒤에 나와야 한다. 3) <검색조건>에는 SUM, AVG, MAX, MIN, COUNT와 같은 집계함수가 나와야 한다.
    3. Pandas : groupby(열)
    4. Pandas 그룹 연산 : 통계함수,  agg([‘max’,’min’,’mean’])
  10. ======================================================
  11. 사용 파일 변경 : 수강신청샘플
  12.  JOIN
    1. SELECT HAKBUN, NAME, SEX, ISU, SCODE, TITLE, PROF
      FROM TSTUDENT, TSUGANG, TSUBJECT
    2. SELECT HAKBUN, NAME, SEX, ISU, SCODE, TITLE, PROF
      FROM TSTUDENT, TSUGANG, TSUBJECT
      WHERE TSTUDENT.HAKBUN = TSUGANG.F_HAKBUN AND TSUBJECT.SCODE = TSUGANG.F_SCODE;
  13. JOIN 문법
    1. 내부조인 1 : SELECT <속성들> FROM 테이블1, 테이블2 WHERE <조인조건> AND <검색조건>
    2. 내부조인 2 : SELECT <속성들> FROM 테이블1 INNER JOIN 테이블2 ON <조인조건> WHERE <검색조건>
    3. 외부조인 : SELECT <속성들> FROM 테이블1 {LEFT|RIGHT|FULL [OUTER]} JOIN 테이블2 ON <조인조건> WHERE <검색조건>
  14. 부속질의
    1. SELECT bookname FROM Book WHERE price=(SELECT MAX(price) FROM Book);
  15. 문제
    1. 학과별 학생수 출력
    2. 과목별 학생수 출력
    3. 학생별 수강신청한 총학점 출력
    4. 성적 테이블에서 필드(컬럼) 추가
      1. 성적(score) = 출석(present) + 과제(report) + 중간(mid) + 기말(final)
    5. 과목별 출석(present), 과제(report), 중간(mid), 기말(final) 의 평균 출력
    6. 학생별 출석(present), 과제(report), 중간(mid), 기말(final) 의 평균 출력
    7. 과목별 출석(present), 과제(report), 중간(mid), 기말(final) 의 최고점 출력
    8. 학생별 출석(present), 과제(report), 중간(mid), 기말(final) 의 최고점 출력
    9. 과목별 출석(present), 과제(report), 중간(mid), 기말(final) 의 최저점 출력
    10. 학생별 출석(present), 과제(report), 중간(mid), 기말(final) 의 최저점 출력
    11. 학생,수강,과목 테이블 inner join
error: Content is protected !!