[머신 러닝] 2-8 Merge & Adv. techniques(1) - JOIN

혯응·2024년 9월 7일

JOIN

1. INNER JOIN (from A inner join B on A.x1 = B.x2)

albums 테이블의 artistId와 albums 테이블의 artistId 조인

script = """
SELECT 
    Title,    -- <- albums(A)
    Name      -- <- artists(B)
FROM 
    albums    -- Table albums(A)
INNER JOIN 
    artists   -- Table artists(B)
ON 
    artists.ArtistId = albums.ArtistId;   -- 순서는 바뀌어도 괜찮습니다.
"""

테이블 명을 붙여줘도 됨

script = """
SELECT 
    albums.Title,
    artists.Name    -- 이처럼 Table명을 밝혀서 써주면 더욱 코드가 명료해집니다.
~~~~~~위와 코드 똑같음
"""

테이블 별명 지어주는 법 -> 좀 더 보기 편함

script = """
SELECT
    l.Title, 
    r.Name    -- 아래 테이블 이름 바로 다음에 alias를 지정해주면 l. & r. 와 같이 alias를 활용할 수 있습니다.
FROM
    albums l 
INNER JOIN 
    artists r 
ON 
    r.ArtistId = l.ArtistId;
""" 

조인 하려는 열 부분의 이름도 동일하다면 -> USING 사용

script = """
SELECT
   Title, 
   Name
FROM
   albums
INNER JOIN 
   artists USING (ArtistId);
""" 

조인하려는 테이블 별명 지어주기 -> AS 사용

script = """
SELECT
    trackid,
    tracks.name AS track,   -- AS 를 통해 alias를 만들어줄 수 있습니다.
    albums.title AS album,
    artists.name AS artist
FROM
    tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
INNER JOIN artists ON artists.artistid = albums.artistid;
""" 


2. LEFT JOIN (LEFT OUTER JOIN)

아티스트 명 옆에 아티스트의 앨범명 붙이기

script = """
SELECT
    Name, 
    Title
FROM
    artists
LEFT JOIN albums ON artists.ArtistId = albums.ArtistId
ORDER BY 
    Name ASC;
""" 
profile
감자 개발자

0개의 댓글