My-SQL이 버전을 확 올린 버전8을 준비중이고, 이미 RC본을 두번째인 RC2를 발표했다. 오라클사에 따르면 빅데이터 처리에 많이 공들였다고 한다. 이 글은 우선 보강된 JSON처리 부분을 소개하려 한다. 이미 JSON에 대한 처리는 기존의 My-SQL5에서 지원되고 있다.
준비
mysql> create table books (cnum varchar(8), name varchar(255), author varchar(255));
Query OK, 0 rows affected (3.62 sec)
데이터를 입력한다.
...
mysql> select * from books;
+------+-------+--------+
| cnum | name | author |
+------+-------+--------+
| C001 | Book1 | NULL |
| C002 | Book2 | NULL |
| C003 | Book3 | NULL |
| D001 | Book4 | NULL |
+------+-------+--------+
4 rows in set (0.00 sec)
JSON_ARRAYAGG
JSON_OBJECTAGG
기타
mysql>
mysql> select info->"$[1 to 2]" from (select JSON_ARRAYAGG(cnum) as info from books) as T1;
+-------------------+
| info->"$[1 to 2]" |
+-------------------+
| ["C002", "C003"] |
+-------------------+
1 row in set (0.00 sec)
종속된 쿼리문은 'JSON_ARRAYAGG'함수를 이용해서 JSON배열을 만들고 별칭 'info'로 반환하면 이를 가지고 'info -> "$[1 to 2]"를 구하는 쿼리이다. 'info ...' 문장은 보면 람다함수의 형식을 따르고 있다. 이 문장의 뜻은 '$[]' 입력된 JSON 배열의 1th행 부터 2nd행까지 추리라는 것이다. 그래서 결과는 전체 배열중 2개의 값만 포함하게 된다.
'Learning' 카테고리의 다른 글
JAVA9 jshell(REPL) (0) | 2018.01.29 |
---|---|
프로그램언어 GO 흘끗 보기 (0) | 2017.10.23 |
자바스크립트 프레임웤 vue.js 흘끗보기 (0) | 2017.09.30 |
JAVA 9 모듈방식(modularity) 코딩 힐끗보기 (0) | 2017.09.08 |
JAVA 람다함수 총정리 (0) | 2017.08.01 |