✅ 1. Scalar Subquery란?단 하나의 값(One Value) 만 반환하는 서브쿼리.결과가 1행 1열이어야 함어떤 위치든 값이 들어갈 수 있는 곳이면 쓸 수 있음→ SELECT, WHERE, CASE WHEN, INSERT VALUE, UPDATE SET 등반환값이 변수처럼 사용됨예시 SELECT name, (SELECT MAX(salary) FROM employee) AS max_salary FROM department; 위의 SELECT MAX(salary) FROM employee 부분이 스칼라 서브쿼리→ 딱 한 값만 나오니까 컬럼처럼 사용 가능함.✅ 2. Ordinary Subquery(일반 Subquery)는?스칼라가 아닌 나머지.예를 들어:▷ 단일 열이지만 여러 행 반환 SELECT..
Oracle Package란? Oracle Package는 관련된 Procedure, Function, 변수, 커서 등을 하나로 묶어놓은 모듈이다.
Android에서 sqlite3와 같은 로컬 DB를 사용해야하는 상황을 직면했다. 이 때, 보통 Spring에서 사용하는 Mybatis와 같은 서버측 ORM 프레임워크와 비슷하게 DB에 접근하여 ORM 역할을 학는 공식 라이브러리 중 최신 표준이라고 하는 Room Persistence Library가 존재하였다. Room Persistence Library는 현재 안드로이드 앱 개발에서 가장 권장되는 방법이자, MyBatis와 같은 ORM의 역할을 대신하는 공식 라이브러리라고한다. SQLite 위에 추상화 계층을 제공하여 SQL쿼리를 컴파일 시점에 검사하고, 복잡한 보일러 플레이코드를 줄여준다고한다. 1. Entity(테이블 정의)// InspectionItem.ktimport androidx.r..
1. WITH문의 필요성 이미 작성된 Mapper에 Query를 살펴보다보면 subquery를 남발하여 작성된 쿼리를 볼 수 있다. subquery를 조건식에 한두번씩 사용하는 것이 아니라, 남발하게되면 가독성이 떨어지고 재사용이 불가능하여 같은 쿼리임에도 불구하고 재사용할 수가 없어 동일한 쿼리를 또 작성해놓은 어지러운 쿼리가 탄생하게 된다. 이를 해결할 수 있는 좋은 방법으로 WITH문이 존재한다. WITH문은 SQL에서 임시 결과 집합, 보통 이를 공통 테이블식(CTE: Common table Expression)이라 부르는 것을 생성하여 다른 쿼리에서 사용 할 수 있게해주는 아주 유용한 녀석이다. 게다가 ANSI SQL 표준을 만족하는 문법이므로 거의 모든 DBMS에서 사용가능하다. 2. WITH..
SQL - COALESCE COALESCE 함수는 ANSI SQL 표준의 일부로서 대부분의 SQL DBMS에서 지원하는 함수로서 NULL값을 처리하는데 사용된다. 사용 예시 SELECT COALESCE(email, phone, '연락처 정보 없음') AS contact_info FROM contacts; 위 쿼리는 contacts라는 테이블에서 email 컬럼의 값을 먼저 확인한다. email 값이 null이 아니라면 그 값을 contact_info로 반환하고 null인 경우에는 그 다음 인자인 phone의 값을 확인하고 마찬가지로 null이 아니라면 그값을 반환하고 null인 경우 마지막값인 '연락처 정보 없음'을 반환하게 된다. COALESE 함수의 장점 - 간결성 : 여러 CASE 조건을 사용하는 ..