Spring/Querydsl

Query(쿼리)란 무엇인가?

광터틀 2024. 3. 3. 14:28
반응형

해당 게시글은 Querydsl에 관하여 공부하다가 정리하는 글들 중 하나이며, 

 

Querydsl에 관한 게시글 카테고리 및 

다음 글 - Querydsl 을 사용하는 이유 에 관하여 

 

에 관심 있으시다면 링크를 연결시켜두었으니 클릭하시면 이동됩니다. 

 


 

Unified Queries for Java. 
Querydsl is compact, safe and easy to learn. 

 

Querydsl 홈페이지(http://querydsl.com/) 에 들어가면 메인으로 뜨는 문구이다.

공부해보니 이 문구 중 에서 'for java', 'safe', 'easy' 가 Querydsl을 대표적으로 표현하는 단어라고 생각된다. 

 

더보기

<Querydsl이 무엇인지 공부하게 된 이유> 

 

프로젝트를 하며, 스프링부트를 공부하며 보니 Querydsl에 대해서 공부하고 넘어가지 않으면 안되겠다는 생각이 들어 김영한 강사님의 인프런 [실전! Querydsl 강의]를 듣기 시작했다. 수업 내용은 대충 이해가 되고 강의를 넘기고는 있는데 근본적으로 Querydsl이 뭐고, 왜 공부하는거지? 하는 의문점이 충분히 해소되지 않았다. 그래서 중간정리 겸 게시글 작성을 시작했다. 

 

아무것도 모르는 초짜 입장에서 Query 라는 단어도 들어보기만 했지 명확히 알지 못하는 상태였다.

Query에 관하여 하나하나 차근차근 정리해보겠다.

그리고 이후 게시글에서는 Querydsl에 대해서 더 알아보도록 하겠다. 

 


 

👉 Query란? 

 

Query 란 단어는 문의하다, 질문하다 라는 뜻을 가지고 있다. 프로그래밍에서 문의, 질문은 '데이터베이스에 정보를 요청하는 일'을 말한다. 

또한 Query는 데이터베이스에서 조건에 맞게 데이터를 조작할 수 있는 언어 SQL 문장의 집합이며 질의문이라고 한다. 즉, 

 

정보를 처리하는 과정에서 특정한 데이터를 보여달라는 클라이언트(사용자)의 요청이 있으면(즉, Query를 보내면) 관련된 정보를 DB로부터 가져오는 것이다. 

 

 

타 블로그의 간단 예시 

 

간단한 홈페이지를 개발할 경우 대부분의 홈페이지는 게시판 혹은 방명록 정도의 데이터를 보관할 수 있는 형태의 DB를 구축하게 됩니다. 이러한 DB는 개발자의 의도에 따라 약간씩 다르기는 하지만 대부분 유사한 형태의 구조를 가지는 테이블을 포함하게 되는데, 여기서 사용자 혹은 관리자들은 이러한 테이블에서 특정 조건에 해당하는 자료를 조회하거나 출력하는 등의 작업을 합니다. 이렇게 데이터가 입력된 DB에서 원하는 조건의 데이터를 가져오려면 특정한 구조의 프로그램언어(DB언어)를 사용하게 되는데 이러한 DB용 언어를 SQL이라고 합니다.

이러한 SQL언어는 대부분의 DB가 95% 이상 되는 호환성을 가진 언어로 이루어져 있으며 이러한 언어로서 특정DB에서 원하는 조건의 데이터를 조작하는 언어의 집합(문장)을 쿼리(Query)라고 합니다. 이러한 쿼리(Query)는 DB를 조작하는 여러 가지 형태로 표현될 수 있으며 데이터를 다루는 프로그램에서는 필수적인 요소입니다.     - [출처] 쿼리(Query)란 무엇인가?|작성자 김자까

 

 

즉, 

 

질의문 = QUERY = 쿼리 = SQL 

 

로 기억하면 될 것 같다. 

 


 

👉 쿼리 vs 파라미터 

 

https://kwonkai.tistory.com/40

 

쿼리는 일반적으로 어떠한 키워드를 검색/요청 시 필요한 옵션을 전달할 때 사용하며, 

파라미터는 특정 id, 이름을 가지고 조회할 때 사용한다. 

 

쿼리가 좀 더 복잡한 조건(페이징, 정렬, 검색 등)을 주고, 사용자가 원하는 정제된 결과를 얻을 수 있는 방법이다. 

 

 

 

 

참고 

https://velog.io/@rgfdds98/SQL-query%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C

https://blog.naver.com/PostView.nhn?blogId=rlarbtjq7913&logNo=221805728231

https://kwonkai.tistory.com/40

 

반응형