🌿 중급 DB
쿼리(Query)가 뭔가요?
쉽게 이해하기
도서관 사서에게 '2023년에 출판된 프로그래밍 책 중에서 저자가 김철수인 책을 찾아주세요'라고 요청하는 것과 같아요. 쿼리도 데이터베이스에게 '이런 조건의 데이터를 찾아줘', '이 데이터를 수정해줘' 같은 요청을 하는 거예요.
핵심 정리
데이터베이스에게 데이터를 요청하거나 조작하는 명령문이에요.
자세히 알아보기
쿼리는 데이터베이스와 대화하는 언어예요. SQL 데이터베이스라면 SQL 문법으로, NoSQL이라면 각 데이터베이스의 고유한 방식으로 쿼리를 작성합니다. 가장 기본적인 쿼리는 'SELECT * FROM users'처럼 특정 테이블의 모든 데이터를 가져오는 거예요.
실무에서는 훨씬 복잡한 쿼리를 사용해요. 예를 들어 '최근 30일 동안 가입한 사용자 중에서 구매 이력이 있는 사람들의 평균 구매액'을 구한다거나, '특정 카테고리의 상품을 5개 이상 판매한 판매자 목록'을 뽑는 것처럼요. 이런 복잡한 조건을 쿼리로 표현할 수 있어야 합니다.
쿼리를 잘 작성하는 건 정말 중요해요. 같은 결과를 얻더라도 쿼리를 어떻게 작성하느냐에 따라 실행 시간이 10배 이상 차이날 수 있거든요. 예를 들어 WHERE 조건을 먼저 필터링하고 JOIN을 하는 것과, JOIN을 먼저 하고 WHERE 조건을 거는 것은 성능이 완전히 달라요.
개발자들은 처음엔 간단한 쿼리만 쓰다가 점점 복잡한 쿼리를 배워가요. ORM을 사용하면 쿼리를 직접 작성하지 않을 수도 있지만, 성능 문제를 해결하려면 결국 쿼리를 이해해야 합니다.