| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 컨트롤러
- 스레드
- cmd
- http
- API
- 티스토리챌린지
- java
- integer
- JDBC
- MariaDB
- MySQL
- ibatis
- 톰캣
- 프로세스
- wsdl
- letterspacing
- 안드로이드 스튜디오
- 스레드 덤프
- 삼성증권
- Docker
- 오블완
- 영상편집
- Linux
- oracle
- START WITH
- Database
- 키보드
- Tomcat
- equals
- HTML
- Today
- Total
목록START WITH (2)
블로그 이름
부서별 계층 관계나 품목 등 여러 비즈니스 로직에 활용 할 수 있는 계층형 쿼리. ORACLE 의 계층형 쿼리 START WITH ... CONNECT BY 구문은 MariaDB에서는 지원되지 않으므로 대신에 CTE라는 재귀 쿼리를 사용해야 한다. 우선 MariaDB는 10.2 버전 이상에서 WITH RECURSIVE를 지원한다. (해당 글에서의 방법은 10.2 이상 버전에서만 가능) 우선 계층형 쿼리란 부모, 자식간의 수직관계를 트리 구조 형태로 보여주는 쿼리이다. START WITH ... CONNECT BY 형태로 사용하며,START WITH에 트리 구조의 최상위 행을 지정, CONNECT BY 에 부모, 자식의 관계를 지정한다. CONNECT BY PRIOR 자식 컬럼 = 부모 컬럼 -> 자식..
Oracle 에서 사용하는 START WITH 절 쿼리를 MariaDB로 작성해야 하는 일이 있었다.MariaDB는 CONNECT BY가 없어서 ORACLE의 쿼리를 그대로 사용할 수 없다. 오라클 쿼리 예시SELECT id, parent_id, nameFROM deptsSTART WITH parent_id IS NULLCONNECT BY PRIOR id = parent_idORDER SIBLINGS BY name; 해당 쿼리를 MariaDB 쿼리로 변경 시 아래와 같다.WITH RECURSIVE cte AS ( SELECT id, parent_id, name, 0 AS level FROM DEPTS WHERE parent_id IS NULL UNION ALL SELECT ..