inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Bước đầu tiên để kiểm tra mã hóa SQL

inner join, left join

서브쿼리 질문

Đã giải quyết

349

tt35410119

23 câu hỏi đã được viết

1

선생님 안녕하세요 서브쿼리 관련해서 질문드립니다...

선생님이 내주신 inner join 연습문제를 풀어보면서 궁금한 점이 생겼는데

서브쿼리를 적용할시 from 절 이후에 서브쿼리가 들어가기도 하고 아니면 inner join 이후 ㅎ서브쿼리가 들어가는 경우도 있고 하는거 같은데.. 그 차이점이 잘 이해가 가질 않아서요.. 어떤 경우에서 그렇게 판단하여 서브쿼리를 넣는 것인지 확인부탁드립니다..

sql mysql 코딩-테스트

Câu trả lời 1

1

Gemma

합격가자님 안녕하세요:)

 

inner join에 대해서 아래 2개의 차이가 뭐냐 라는 질문으로 이해했는데요.

select *
from table1 as t1
inner join
(
    select *
    from table2
) t2
on t1.product_id=t2.product_id;
select *
from
(
    select *
    from table1
)t1
inner join table2 as t2
on t1.product_id=t2.product_id;

몇 가지 중요한 포인트를 나열해보겠습니다.

이 중에서 이해가 안가시다면, 편하게 질문 부탁드립니다.


  1. inner join: A inner join B를 하든, B inner join A를 하든 똑같습니다.
    -> 그렇기 때문에 서브쿼리를 적용할시 from 절 이후에 서브쿼리가 들어가기도 하고 아니면 inner join 이후 서브쿼리가 들어가는 경우가 있는데, 똑같습니다.

  2. join과 서브쿼리는 별개입니다. 합격가자님께서 이 2개를 같이 혼용해서 헷갈려하신다는 느낌을 받아서 말씀 드립니다.

  3. 서브쿼리는 보통 group by 사용/where절에 조건 추가한 후에 사용할 것입니다.


    추가 설명 드리자면, 아래 서브쿼리를 안 쓴 버전과 select * from sales 서브쿼리 쓴 버전이 있는데요. 서브쿼리를 쓴 버전이 문법적으로 틀리지 않고 당연히 써도 되겠지만, 굳이 select * from sales 이렇게 쓸 목적으로 서브쿼리를 쓰지는 않을 것입니다. 보통 쓰게 된다면 group by/where 조건을 사용하기 위해(=결과를 간소화하기 위해) 서브쿼리를 사용할 것입니다.

SELECT *

FROM SALES AS S

INNER JOIN PRODUCT AS P

ON S.PRODUCT_ID = P.PRODUCT_ID;
SELECT *

FROM
(
   SELECT *
   FROM SALES
) AS S
INNER JOIN
(
   SELECT *
   FROM PRODUCT
) AS P

ON S.PRODUCT_ID = P.PRODUCT_ID;
  1. left outer join: A left outer join B와, B left outer join A는 다릅니다!
    이 부분 꼭 inner join과 구별하시길 바랍니다.

1

tt35410119

친절한 답변 감사합니다!! 이해가 잘되었습니다 ㅠㅠ

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

3

1

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

6

1

Vercel 실행이 안됩니다

0

4

1

교안 158페이지 문의드립니다

0

9

2

코딩살구클럽 관련 건의사항

0

23

1

코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다

0

11

1

수강평 이벤트

0

21

2

패키지 구분에 대해 궁금한게 있습니다

0

12

1

진행 방법 질문드립니다!

0

41

2

노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.

0

15

1

문제 링크 변경

0

55

2

SQL 파일 다운로드

0

62

2

workbench 테이블 생성

0

274

2

sql 코딩 테스트에서 index 생성 가능 여부

1

282

2

cross join, full join강의 / leetcode 1280번 문제 질문드립니다

1

300

1

not In강의 / leetcode 1978 질문 드립니다

2

198

1

LEETCODE - Sales Analysis 3 코드 질문드립니다.

1

279

1

[The Latest Login in 2020] datetime 계산 관련

1

249

1

[Average Selling Price] 문제 테스트케이스 실패

1

281

3

EASY INNER JOIN 관련 average-selling-price 연습문제

1

282

1

INNER JOIN 강의 질문

1

326

2

문제 주소 링크

1

297

2

work bench 설치관련 문의

1

280

2

깃헙 데스크탑, MYSQL 워크벤치 연동

2

859

3