해결된 질문
작성
·
44
답변 2
0
안녕하세요. 서브쿼리를 쓰냐 마냐에 대해서 정답은 없는 것 같고 상황에 따라 다릅니다. 현업에서도 사람마다 다르게 판단할 것 같네요.
저는 서브쿼리를 사용하지 않아도 되는 경우엔 서브쿼리를 사용하지 않습니다. 쿼리가 그냥 길어질 수 있거든요. 그래서 명확하게 로직이 구분되어야 하는 경우엔 서브쿼리를 쓰기도 하지만, 간결하게 짜는 것을 선호합니다.
강의에서는 서브쿼리로도 짤 수 있고, 서브쿼리가 아닌 방법도 있다는 것을 보여드리려고 강의 전체적으로 여러가지 방법을 보여드리고 있어요.
데이터베이스 중 MySQL 같은 시리즈는 서브쿼리 사용할 때 이슈가 있을 수 있는데(상황에 따라 다릅니다) DW 계열에선 서브쿼리가 성능적으로 크게 이슈가 되는 부분은 적긴 합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
eden.ganghyo.lee님, 질문 주셔서 감사합니다. SQL에서 서브쿼리를 사용하는 것과 그렇지 않은 것에 대해 궁금하시군요.
일반적으로 서브쿼리는 복잡한 쿼리를 좀 더 읽기 쉽고 논리적으로 구분할 때 유용합니다. 하지만, 서브쿼리의 사용이 항상 필수적인 것은 아니며, 상황에 따라 서브쿼리 없이도 같은 결과를 얻을 수 있습니다.
가독성: 서브쿼리는 복잡한 로직을 단계별로 구분하여 더 명확하게 이해할 수 있게 도와줍니다. 특히, 여러 단계의 데이터 처리나 필터링이 필요한 경우 유용합니다.
성능: 단순한 경우에 서브쿼리를 사용하지 않는 것이 성능에 더 긍정적일 수 있습니다. 데이터 세트가 클 경우, 서브쿼리는 불필요하게 추가 연산을 발생시킬 수 있어서 성능에 영향을 줄 수 있습니다.
현업 활용: 현업에서는 문제의 복잡성에 따라 적절한 쿼리를 선택합니다. 가독성과 성능 사이에서 균형을 맞추는 것이 중요합니다. 간단한 쿼리의 경우 서브쿼리 없이 명확하게 작성하는 것이 선호됩니다.
기존에 언급된 혹 유사한 질문에 대한 답변은 다음 링크에서 확인하실 수 있습니다:
- 4-7. 조건문 연습 문제 5번에 관한 질문에서는 IF 문 안에서 날짜를 처리하는 방법과 서브쿼리 사용 여부에 대한 논의가 포함되어 있습니다. 이 답변에서도 서브쿼리와 관련된 전략적 사용 부분을 다루고 있습니다.
현재 작성하신 쿼리처럼 서브쿼리를 사용하여 데이터를 변환하고 이후에 조건을 걸어주는 방식은, 중간 데이터를 여러 번 참조해야 하거나, 다른 조건들과 결합하는 경우에 유리합니다. 그러나 꼭 필요한 경우가 아니라면 가독성과 성능을 고려하여 쿼리 구조를 단순하게 유지하는 것도 좋은 선택입니다.
저는 질문자님의 이해를 돕고자 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.