minyeamer
Minystory
minyeamer
edit settings
전체 방문자
오늘
어제
  • Category List (97)
    • Books (5)
      • Book Reviews (1)
      • Paper Reviews (4)
    • Life (4)
      • Blog (3)
      • Item Reviews (0)
      • Thoughts (1)
    • Study (34)
      • 2022 (0)
      • AI SCHOOL (34)
      • References (0)
    • Tech (54)
      • Algorithm (46)
      • Projects (6)
      • Python (2)

Blog Menu

  • Home
  • Notice
  • Tags
  • Guest

Popular Posts

Recent Comments

Recent Posts

hELLO
minyeamer

Minystory

[AI SCHOOL 5기] SQL 프로그래밍 실습 - Merge
Study/AI SCHOOL

[AI SCHOOL 5기] SQL 프로그래밍 실습 - Merge

2022. 4. 11. 20:20

1. INNER JOIN

SELECT 
    l.Title,
    r.Name
FROM 
    albums AS l
INNER JOIN
    artists AS r
ON 
    r.ArtistId = l.ArtistId;
SELECT
   Title, 
   Name
FROM
   albums
INNER JOIN artists USING(ArtistId);

2. LEFT JOIN

SELECT
    Name, 
    Title
FROM
    artists
LEFT JOIN albums ON artists.ArtistId = albums.ArtistId
ORDER BY 
    Name;

SELF JOIN

SELECT m.firstname || ' ' || m.lastname AS 'Manager',
       e.firstname || ' ' || e.lastname AS 'Receives reports from'
FROM
    employees e
INNER JOIN 
    employees m 
ON 
    m.employeeid = e.reportsto
ORDER BY 
    manager;
  • 'A 테이블'과 A 테이블의 복사본인 'B 테이블'을 합치기

3. Grouping Data

SELECT
    albumid,
    COUNT(trackid)
FROM
    tracks
GROUP BY
    albumid
ORDER BY 
    COUNT(trackid) DESC;
SELECT
    albumid,
    COUNT(trackid)
FROM
    tracks
GROUP BY
    albumid
HAVING
    albumid = 1;
SELECT
    albumid,
    COUNT(trackid)
FROM
    tracks
WHERE
    COUNT(trackid) BETWEEN 18 AND 20
GROUP BY
    albumid;
  • 에러발생: WHERE문에는 집계함수 사용 불가
  • WHERE가 집계함수보다 우선적으로 실행되기 때문
SELECT
    tracks.albumid,
    title,
    MIN(tracks.milliseconds),
    MAX(tracks.milliseconds),
    ROUND(AVG(tracks.milliseconds), 2)
FROM
    tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
    tracks.albumid;
  • ROUND는 n번째 자리까지 나타나도록 반올림

4. Subquery

SELECT AVG(SUM(bytes))
FROM tracks
GROUP BY albumid;
  • SELECT 문에서 집계함수의 결과 값에 바로 중첩하여 집계함수 적용 불가
SELECT
    AVG(SIZE)
FROM
    (SELECT
         SUM(bytes) AS SIZE
     FROM
         tracks
     GROUP BY
         albumid);
저작자표시 (새창열림)

'Study > AI SCHOOL' 카테고리의 다른 글

[AI SCHOOL 5기] 머신 러닝 실습 - 선형 회귀  (0) 2022.04.13
[AI SCHOOL 5기] 머신 러닝  (0) 2022.04.13
[AI SCHOOL 5기] SQL 프로그래밍 실습 - SQL CRUD  (0) 2022.04.11
[AI SCHOOL 5기] SQL 프로그래밍 실습 - SQLite3  (0) 2022.04.11
[AI SCHOOL 5기] SQL 프로그래밍  (0) 2022.04.11
    'Study/AI SCHOOL' 카테고리의 다른 글
    • [AI SCHOOL 5기] 머신 러닝 실습 - 선형 회귀
    • [AI SCHOOL 5기] 머신 러닝
    • [AI SCHOOL 5기] SQL 프로그래밍 실습 - SQL CRUD
    • [AI SCHOOL 5기] SQL 프로그래밍 실습 - SQLite3
    minyeamer
    minyeamer
    Better than Yesterday

    티스토리툴바