본문 바로가기

개발/DB, SQL3

[SQL] WHERE 1 = 1 업무 중 마주한 내용에 대해 추가적으로 알아보고자 공부하고 작성하였습니다. 이미 작성된 쿼리를 보다 보면 이런 내용을 많이 볼 수 있습니다. select * from TEST_TABLE a where 1 = 1 and a.name is not null and a.gender = 'male' where 1 = 1 이라는 내용입니다. 항상 참인 의미 없어 보이는 내용인데, MyBatis 등에 쿼리를 미리 작성해 두는 경우에 많이 보게 됩니다. 이 내용은 왜 붙여서 사용할까요? 사용하는 경우 위 코드를 다시 보겠습니다. where 1 = 1 이라는 내용이 없다면, 아래와 같이 작성하게 됩니다. select * from TEST_TABLE a where a.name is not null and a.gender .. 2022. 2. 15.
[SQL] WITH 문 업무 중 마주한 내용에 대해 추가적으로 알아보고자 공부하고 작성하였습니다. WITH 문 쿼리를 작성하다 보면 서브쿼리 (subquery)를 작성하게 되는 경우가 많습니다. 이러한 서브쿼리를 반복해서 사용하게 되는 경우, 쿼리가 매우 복잡해지고 가독성도 좋지 않게 됩니다. WITH 문은 이러한 문제를 해결하기 위한 방법입니다. '이름을 붙인 서브쿼리'라고 요약할 수 있으며, Oracle, MSSQL, MySQL, PostgreSQL 등 주요 RDBMS는 모두 지원합니다. (MySQL의 경우 8.0버전부터 WITH문을 지원합니다.) 기본 구조는 다음과 같습니다. WITH (테이블명) AS (SELECT ~ FROM ~) SELECT ~ 다음과 같은 테이블이 있다고 가정하겠습니다. TB_CARR CARR_CO.. 2022. 2. 2.
DBeaver - 편리한 DB 관리 도구 소개 얼마 전 [Spring Boot] 7. AWS에 데이터베이스 환경을 만들어 보자 - AWS RDS 작성 중에 로컬에서 DB로 접속하는 방법 중 IntelliJ의 플로그 인을 설명한 바 있습니다. 이 외에도 DB에 연결 및 관리 할 수 있는 도구는 다양하게 나와 있는데, 그 중 하나를 오늘 소개할까 합니다. 공식 홈페이지: https://dbeaver.io/ DBeaver는 Windows, macOS, Linux, Eclipse plugin 등 다양한 환경에서 다양한 DB에 접속 및 관리할 수 있는 툴입니다. 오픈 소스로 제작되었고, Oracle, MySQL, PostgreSQL 등 다양한 DB에 접속할 수 있습니다. Community edition과 enterprise 에디션이 구분되어 있는데, c.. 2022. 1. 29.