목요일, 12월 24, 2020

[유튜브 방송] (즐겁게 배우는 SQL #22) 서브 질의를 배우자 - 서브 질의

[유튜브 방송] (즐겁게 배우는 SQL) 기획 소개에서 설명드린 즐겁게 배우는 SQL 22편을 공개해드리겠다. 22편은 서브 질의를 소개한다.

2020년 12월 24일자 [즐겁게 배우는 SQL #22] 서브 질의를 배우자 - 서브 질의 방송은 다음에서 볼 수 있으며, 전체 방송 플레이리스트는 즐겁게 배우는 SQL에서 확인할 수 있다.

하이라이트를 요약 정리하면 다음과 같다:

  • 00:00 데이터 질의 방법 소개
  • 01:45 WHERE 절 예제
  • 07:46 FROM 절 예제
  • 11:00 상호 연관 서브 질의 예제
  • 14:25 SELECT에서 상호 연관 서브 질의 예제

원본 학습자료는 SQLite Subquery를 참고하고, 방송에 사용한 실제 실습 자료는 다음을 참고한다:

  • 단계 1: 데이터 질의 방법 소개
    SELECT column_1
    FROM table_1
    WHERE column_1 = (
       SELECT column_1 
       FROM table_2
    );
    
  • 단계 2: WHERE 절 예제
    1. SQL> SELECT trackid, name, albumid FROM tracks WHERE albumid = ( SELECT albumid FROM albums WHERE title = 'Let There Be Rock' );
    2. SQL> SELECT customerid, firstname, lastname FROM customers WHERE supportrepid IN ( SELECT employeeid FROM employees WHERE country = 'Canada' );
  • 단계 3: FROM 절 예제
    1. (잘못된 예제) SQL> SELECT AVG(SUM(bytes)) FROM tracks GROUP BY albumid;
    2. SQL> SELECT AVG(album.size) FROM ( SELECT SUM(bytes) SIZE FROM tracks GROUP BY albumid ) AS album;
  • 단계 4: 상호 연관 서브 질의 예제
    1. SQL> SELECT albumid, title FROM albums WHERE 10000000 > ( SELECT sum(bytes) FROM tracks WHERE tracks.AlbumId = albums.AlbumId ) ORDER BY title;
  • 단계 5: SELECT에서 상호 연관 서브 질의 예제
    1. SQL> SELECT albumid, title, ( SELECT count(trackid) FROM tracks WHERE tracks.AlbumId = albums.AlbumId ) tracks_count FROM albums ORDER BY tracks_count DESC;
EOB

댓글 없음:

댓글 쓰기