사용자 도구

사이트 도구


kb:couchbasen1ql

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

kb:couchbasen1ql [2015/10/14 10:28]
excel96 새로 만듦
kb:couchbasen1ql [2015/10/14 10:39] (현재)
excel96
줄 6: 줄 6:
     * 설치시 방화벽 해제할 것인지 묻던데, 제대로 되지 않는 모양, 아니면 N1QL 관련 포트를 자동으로 해제하지 않는 걸수도...     * 설치시 방화벽 해제할 것인지 묻던데, 제대로 되지 않는 모양, 아니면 N1QL 관련 포트를 자동으로 해제하지 않는 걸수도...
     * 어느 포트를 사용하는 건지 체크해 봐야 하는데...     * 어느 포트를 사용하는 건지 체크해 봐야 하는데...
-  * PRIMARY INDEX를 생성하지 않은 경우 아무 쿼리도 동작하지 않는다. +  * 4.0 기준으로는 SELECT 말고는 다 experimental이라 써먹을 게 없다... 
-    * LCB_HTTP_ERROR랑,​ 설명에 syntax 어쩌구 나와서 혼란스러웠 + 
-    ​* ​아래와 같은 구문을 통해 생성할 수 있다. GSI가 뭔지랑, 인덱스 새로 생성하는 건 어찌하는지 조사 필요 <code sql>​CREATE PRIMARY INDEX ON tripod USING GSI</​code>​ + 
-    ​* ​버켓 이름에 하이픈(hyphen,​ -)이 들어간 경우 백쿼트(`)로 이름을 감싸라는데,​ 애초에 하이픈을 쓰지 말자. +====== INDEX ====== 
-    ​* ​http://​developer.couchbase.com/​documentation/​server/​4.0/​n1ql/​n1ql-language-reference/​createprimaryindex.html +PRIMARY INDEX를 생성하지 않은 경우 아무 쿼리도 동작하지 않는다. LCB_HTTP_ERROR랑,​ 설명에 syntax 어쩌구 나와서 혼란스러웠다. 
-  * C SDK + 
-    * http://​developer.couchbase.com/​documentation/​server/​4.0/​sdks/​c-2.4/​n1ql-queries.html +아래와 같은 구문을 통해 생성할 수 있다. GSI가 뭔지랑, 인덱스 새로 생성하는 건 어찌하는지 조사 필요하다. 
-    * Prepared Statement + 
-      * 딱히 bulk 작업이 없는데 사용해야 하나?+<code sql> 
 +CREATE PRIMARY INDEX ON tripod USING GSI 
 +</​code>​ 
 + 
 +버켓 이름에 하이픈(hyphen,​ -)이 들어간 경우 백쿼트(`)로 이름을 감싸라는데,​ 애초에 하이픈을 쓰지 말자. 
 + 
 +http://​developer.couchbase.com/​documentation/​server/​4.0/​n1ql/​n1ql-language-reference/​createprimaryindex.html 
  
 ====== SELECT ====== ====== SELECT ======
 <code sql> <code sql>
 +-- SELECT
 SELECT name, auth SELECT name, auth
 FROM books FROM books
  
 +-- WHERE
 SELECT name, auth SELECT name, auth
 FROM books  FROM books 
 WHERE DATE_PART_STR(published,​ "​year"​) >= 2014 WHERE DATE_PART_STR(published,​ "​year"​) >= 2014
  
 +-- ORDER BY #1
 SELECT name, DATE_PART_STR(published,​ "​year"​) as published SELECT name, DATE_PART_STR(published,​ "​year"​) as published
 FROM books  FROM books 
줄 30: 줄 40:
 ORDER BY published ORDER BY published
  
 +-- DISTINCT
 SELECT DISTINCT(series),​ author ​ SELECT DISTINCT(series),​ author ​
 FROM books FROM books
줄 35: 줄 46:
 ORDER BY series ORDER BY series
  
 +-- ORDER BY #2
 SELECT name, DATE_PART_STR(published,​ "​year"​) as published SELECT name, DATE_PART_STR(published,​ "​year"​) as published
 FROM books  FROM books 
줄 40: 줄 52:
 ORDER BY year ORDER BY year
  
 +-- GROUP BY
 SELECT book, AVG(rating) AS average SELECT book, AVG(rating) AS average
 FROM reviews FROM reviews
줄 46: 줄 59:
 ORDER BY average DESC ORDER BY average DESC
  
 +-- JOIN
 SELECT b.name, DATE_PART_STR(a.year,​ "​year"​) as year, a.name as award SELECT b.name, DATE_PART_STR(a.year,​ "​year"​) as year, a.name as award
 FROM awards a INNER JOIN books b FROM awards a INNER JOIN books b
줄 51: 줄 65:
 ORDER BY b.name, year, award ORDER BY b.name, year, award
  
 +-- SUBQUERY
 SELECT b.name, b.author SELECT b.name, b.author
 FROM books b FROM books b
줄 59: 줄 74:
     WHERE country = "​UK"​)     WHERE country = "​UK"​)
     ​     ​
 +-- UNION
 SELECT name, "​Book"​ as type SELECT name, "​Book"​ as type
 FROM books FROM books
줄 68: 줄 84:
 ORDER BY name ORDER BY name
 </​code>​ </​code>​
 +
 +====== C SDK ======
 +  * http://​developer.couchbase.com/​documentation/​server/​4.0/​sdks/​c-2.4/​n1ql-queries.html
 +  * Prepared Statement
 +    * 딱히 bulk 작업이 없는데 사용해야 하나?
 +
kb/couchbasen1ql.txt · 마지막으로 수정됨: 2015/10/14 10:39 저자 excel96