hrming

[DB/SQL] JOIN & Subquery 본문

DB

[DB/SQL] JOIN & Subquery

hrming 2024. 10. 5. 23:30

■ Subquery

- 복잡한  SQL 쿼리문에 많이 사용됨

- 메인 쿼리라고 부르는 외부 쿼리가 있고, 외부 쿼리 내에 다른 쿼리문, 즉 내부 쿼리가 있는 구조

 

■ Join

- 2개 혹은 그 이상의 테이블을 연결하고, 연결한 테이블로부터 필요한 열을 조회함

 

※ 서브쿼리는 가독성이 좋지만 성능이 조인에 비해 좋지 않다.


■ Subquery → Join으로 변경이 가능한 경우,

- 중첩 서브쿼리이면서 (=서브쿼리가 WHERE절 내에 존재),

①  스칼라 서브쿼리가 사용된 경우

②  IN 혹은 NOT IN 연산자 안에 있는 서브쿼리

③  상호연관 서브쿼리로, EXISTS 혹은 IN NOT EXISTS 연산자 안에 있는 서브쿼리

** 상호연관 서브쿼리: 서브쿼리가 메인쿼리와 연관되어있는(서브쿼리에서 메인쿼리를 참조하는) 경우 

 

■ Subquery → Join으로 변경이 `불`가능한 경우,

- GROUP BY를 사용한 서브쿼리가 FROM 절에 있을 때

- 집계된 값을 반환하는 서브쿼리가 WHERE 절에 있을 때 

- 서브쿼리가 ALL 연산자 안에 있을 때

 

 

자세한 예시는, 아래 참고! 


참고 및 출처 :

https://inpa.tistory.com/entry/MYSQL-%F0%9F%93%9A-JOIN%EA%B3%BC-%EC%84%9C%EB%B8%8C%EC%BF%BC%EB%A6%AC-%EC%B0%A8%EC%9D%B4-%EB%B0%8F-%EB%B3%80%ED%99%98-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC

 

[MYSQL] 📚 JOIN과 서브쿼리 차이 및 변환 💯 정리

조인(JOIN) vs 서브쿼리(Sub Query) 조인과 서브쿼리는 때로 동일한 결과를 얻을 수 있다. 상황에 따라 조인을 사용하는 것이 훨씬 좋을 때도 있고, 반면에 서브 쿼리를 사용하는 것이 좋을 때도 있다.

inpa.tistory.com

 

https://learnsql.com/blog/subquery-vs-join/#subquery-within-the-in-clause

 

Subquery vs. JOIN

What are the differences between a subquery and a JOIN in SQL? How do you choose one over the other? See examples of when to use which.

learnsql.com

 

https://lcs1245.tistory.com/entry/SQL-SubQuery-%EC%84%9C%EB%B8%8C%EC%BF%BC%EB%A6%AC-%EC%A2%85%EB%A5%98-%EB%B0%8F-%EC%A0%95%EB%A6%AC

 

SQL SubQuery (서브쿼리) 종류 및 정리

SubQuery는 SQL을 작성하다 보면 빠질 수 없는 문법입니다. 서브쿼리에 종류와 특징을 파악하고 적절하게 사용할 줄 안다면 큰 도움이 될 것입니다. SubQuery의 종류 1. 일반 서브쿼리 : 하나의 변수처

lcs1245.tistory.com

 

Comments