{"id":2500,"date":"2017-01-18T19:00:07","date_gmt":"2017-01-18T19:00:07","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2500"},"modified":"2024-01-31T10:14:46","modified_gmt":"2024-01-31T18:14:46","slug":"using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/","title":{"rendered":"N1QL \ud558\uc704 \ucffc\ub9ac \ud45c\ud604\uc2dd\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc911\ucca9\ub41c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ubb38\uc11c\uc5d0 \ucffc\ub9ac\ud558\uae30"},"content":{"rendered":"<p>Couchbase 4.0\uc5d0\uc11c N1QL\uc740 \uac1c\ubc1c\uc790\uac00 \ub0b4\ubd80\uc5d0 \uc800\uc7a5\ub41c NoSQL \ub370\uc774\ud130\ub97c \ucffc\ub9ac\ud560 \ub54c \ub354 \ub9ce\uc740 \uc720\uc5f0\uc131\uc744 \uc81c\uacf5\ud558\uae30 \uc704\ud55c \ubc29\ubc95\uc73c\ub85c \ub3c4\uc785\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/developers\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84<\/a>. JSON \ub370\uc774\ud130\uc5d0 \ub300\ud574 SQL \ucffc\ub9ac\ub97c \uc2e4\ud589\ud560 \uc218 \uc788\uace0 \ubaa8\ub4e0 \uac83\uc774 \ub180\ub78d\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc N1QL\uc774 \uc774\ub9cc\ud07c \ud6cc\ub96d\ud558\ub2e4 \ud574\ub3c4 \uc544\uc26c\uc6b4 \uae30\ub2a5\uc774 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. Couchbase 5.0\uc73c\ub85c \ub118\uc5b4\uc624\uba74\uc11c \uc774\ub7ec\ud55c \uae30\ub2a5 \uc911 \uc0c1\ub2f9\uc218\uac00 \uc774\uc81c \ud604\uc2e4\uc774 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 N1QL \ucffc\ub9ac \ub0b4\uc5d0\uc11c \ud558\uc704 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc0dd\uac01\ud574 \ubcf4\uc138\uc694. \uc774 \uae30\ub2a5\uc740 \uc774\ubbf8 \uc874\uc7ac\ud588\uc9c0\ub9cc, Couchbase Server 5.0\uc5d0\uc11c\ub294 \uc77c\ubc18 \ud45c\ud604\uc2dd\uc5d0 \ud558\uc704 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud558\uc704 \ucffc\ub9ac \ud45c\ud604\uc2dd\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774 \uae00\uc744 \uc791\uc131\ud558\ub294 \uc2dc\uc810\uc778 2017\ub144 1\uc6d4 \ud604\uc7ac Couchbase 5.0\uc740 \uac1c\ubc1c\uc790 \ube4c\ub4dc\ub97c \ud1b5\ud574 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc774 \ucd94\uac00\ub420 \uc608\uc815\uc774\uc9c0\ub9cc \uc544\uc9c1 \ud504\ub85c\ub355\uc158\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ube4c\ub4dc\ub294 \uc544\ub2d9\ub2c8\ub2e4. \uac1c\ubc1c\uc790 \ube4c\ub4dc\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-developer-builds\/\">\ube14\ub85c\uadf8 \uacf5\uc9c0\uc0ac\ud56d<\/a> \uc8fc\uc81c\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc911\ucca9\ub41c \ubb38\uc11c\uc5d0 \ub300\ud55c \ud558\uc704 \ucffc\ub9ac\uac00 \ubb34\uc5c7\uc744 \uc758\ubbf8\ud558\ub294\uc9c0 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc774 \uc608\uc81c\uc5d0\uc11c\ub294 \ub2e4\uc74c \ub450 \ubb38\uc11c\ub97c \uae30\uc900\uc73c\ub85c \uc791\uc5c5\ud558\uaca0\uc2b5\ub2c8\ub2e4:<\/p>\n<p>\uc544\ub798 \ubb38\uc11c\uc758 \ubb38\uc11c \ud0a4\ub294 <strong>\uc8fc\ubb38::1<\/strong> \uc601\uc218\uc99d \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4:<\/p>\n<pre><code>{\r\n    \"type\": \"order\",\r\n    \"customerId\": \"nraboy\",\r\n    \"order_number\": \"12345\",\r\n    \"products\": [\r\n        {\r\n            \"productId\": \"pokemon-red\",\r\n            \"quantity\": 1,\r\n            \"price\": 39.99\r\n        },\r\n        {\r\n            \"productId\": \"pokemon-yellow\",\r\n            \"quantity\": 1,\r\n            \"price\": 39.99\r\n        }\r\n    ]\r\n}<\/code><\/pre>\n<p>\uc544\ub798 \ubb38\uc11c\uc758 \ubb38\uc11c \ud0a4\ub294 <strong>\uc8fc\ubb38::2<\/strong> \ub2e4\ub978 \uc0ac\ub78c\uc758 \uc601\uc218\uc99d \uc5ed\ud560\uc744 \ud569\ub2c8\ub2e4:<\/p>\n<pre><code>{\r\n    \"type\": \"order\",\r\n    \"customerId\": \"mgroves\",\r\n    \"order_number\": \"34532\",\r\n    \"products\": [\r\n        {\r\n            \"productId\": \"pokemon-blue\",\r\n            \"quantity\": \"1\",\r\n            \"price\": 39.99\r\n        },\r\n        {\r\n            \"productId\": \"zelda-ocarina-time\",\r\n            \"quantity\": 2,\r\n            \"price\": 59.99\r\n        }\r\n    ]\r\n}<\/code><\/pre>\n<p>\uc774 \uc608\uc81c\uc5d0\uc11c \uc8fc\ubaa9\ud574\uc57c \ud560 \uc911\uc694\ud55c \uc810\uc740 \ubc30\uc5f4 \uc548\uc5d0 \uac1d\uccb4\uac00 \uc911\ucca9\ub418\uc5b4 \uc788\uc5b4 \ubb38\uc11c\uac00 \ubcf5\uc7a1\ud574\uc84c\ub2e4\ub294 \uc0ac\uc2e4\uc785\ub2c8\ub2e4. \uc6b0\ub9ac\uac00 \ucd94\uad6c\ud558\ub294 \uac83\uc740 \ubc14\ub85c \ubcf5\uc7a1\uc131\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc774\uc81c \uac01 \uc0ac\uc6a9\uc790\uac00 \ube44\ub514\uc624 \uac8c\uc784\uc5d0 \uc9c0\ucd9c\ud55c \ucd1d\uc561\uc744 \uac00\uc838\uc624\uace0 \uc2f6\ub2e4\uace0 \uac00\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc73c\ub85c \uc774 \uc791\uc5c5\uc740 \uc9d1\uacc4 \ud568\uc218\uac00 \uc788\ub294 \ud558\uc704 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc218\ud589\ub429\ub2c8\ub2e4. \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 5.0\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc791\uc5c5\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4:<\/p>\n<pre><code>SELECT\r\n    customerId,\r\n    (SELECT RAW SUM(products.price * products.quantity) FROM default.products AS products)[0] AS total\r\nFROM default;<\/code><\/pre>\n<p>\ubb3c\ub860 \ud558\uc704 \ucffc\ub9ac\ub294 \uc9d1\uacc4\uc5d0\ub9cc \uad6d\ud55c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc911\ucca9\ub41c \ub370\uc774\ud130\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\uc874\uc7ac<\/code> \uc870\uac74, <code>MERGE<\/code>\ub610\ub294 \ub2e4\ub978 \uc5b4\ub5a4 \uac83\uc774\ub4e0 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 \uacbd\uc6b0\ub97c \ud30c\uc545\ud558\uace0 \uc2f6\ub2e4\uace0 \uac00\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <strong>\ud3ec\ucf13\ubaac-\ud30c\ub791<\/strong> \ub294 \ubaa8\ub4e0 \uc601\uc218\uc99d\uc5d0 \uc874\uc7ac\ud569\ub2c8\ub2e4. \ud574\ub2f9 \ub370\uc774\ud130\ub97c \ucffc\ub9ac\ud558\uae30 \uc704\ud574 \ub2e4\uc74c\uacfc \uac19\uc740 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/p>\n<pre><code>SELECT\r\n    customerId, order_number\r\nFROM default\r\nWHERE \"pokemon-blue\" IN (SELECT RAW products.productId FROM default.products AS products);<\/code><\/pre>\n<p>\uadf8\ub7ec\ub098 \ud558\uc704 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\uace0 \ud574\uc11c \ubaa8\ub4e0 \uc2dc\ub098\ub9ac\uc624\uc5d0\uc11c \ubc18\ub4dc\uc2dc \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uac83\uc740 \uc544\ub2c8\uba70 \ub354 \ub098\uc740 \uc131\ub2a5\uc744 \uc5bb\uc744 \uc218 \uc788\ub294 \ub2e4\ub978 \ubc29\ubc95\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc704\uc758 \uc608\uc5d0\uc11c \ud558\uc704 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud558\ub294 \ub300\uc2e0 \ub2e4\uc74c\uacfc \uac19\uc740 \ubc29\ubc95\uc744 \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694:<\/p>\n<pre><code>SELECT\r\n    customerId, order_number\r\nFROM default\r\nWHERE SOME product IN default.products SATISFIES product.productId = \"pokemon-blue\" END;<\/code><\/pre>\n<p>\ub450 \ucffc\ub9ac \ubaa8\ub450 \ub3d9\uc77c\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud558\uc9c0\ub9cc \ud55c \ucffc\ub9ac\uac00 \ub2e4\ub978 \ucffc\ub9ac\ubcf4\ub2e4 \ub354 \ub098\uc740 \uc131\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uacb0\uacfc\uc801\uc73c\ub85c \ud544\uc694\ud55c \uac83\uc774 \ubb34\uc5c7\uc778\uc9c0 \ud30c\uc545\ud55c \ub2e4\uc74c \uadf8\uc5d0 \ub9de\ub294 \ucffc\ub9ac\ub97c \uc815\uc758\ud558\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<p>\ud558\uc704 \ucffc\ub9ac \ud45c\ud604\uc2dd\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub610 \ub2e4\ub978 \uc608\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \ud558\uc704 \ucffc\ub9ac \ud45c\ud604\uc2dd\uc744 <code>LET<\/code> \uc808\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \ucd94\uac00\ud569\ub2c8\ub2e4:<\/p>\n<pre><code>SELECT\r\n    customerId, SUM(total)\r\nFROM default\r\nLET total = (SELECT RAW SUM(products.price * products.quantity) FROM default.products)[0]\r\nGROUP BY customerId;<\/code><\/pre>\n<p>\uace0\uac1d\uc5d0 \ub300\ud55c \ubb38\uc11c\uac00 \ub450 \uac1c \uc774\uc0c1 \uc788\ub2e4\uace0 \uac00\uc815\ud558\uba74 \ucd1d\ud569\uc774 \ud569\uc0b0\ub418\uc5b4 \ud2b9\uc815 \uace0\uac1d\uc758 \ucd1d \uad6c\ub9e4 \ub0b4\uc5ed\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc6b0\ub9ac\ub294 <code>LET<\/code> \ub300 <code>\ud5c8\uc6a9<\/code> \uac12\uc744 \uadf8\ub8f9\ud654\ud558\uace0 \uc9d1\uacc4\ud558\uae30 \uc804\uc5d0 \uac12\uc744 \uacb0\uc815\ud574\uc57c \ud558\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n<p>\ud558\uc704 \ucffc\ub9ac \ud45c\ud604\uc2dd\uc774 \uc758\ubbf8\uac00 \uc788\uc744 \uc218 \uc788\ub294 \ub2e4\ub978 \uc2dc\ub098\ub9ac\uc624\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <code>MERGE<\/code> \uadf8\ub9ac\uace0 <code>\ud5c8\uc6a9<\/code> \uc870\ud56d.<\/p>\n<p>Couchbase\uc5d0\uc11c N1QL\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/developers\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uac1c\ubc1c\uc790 \ud3ec\ud138<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Back in Couchbase 4.0, N1QL was introduced as a way to give developers more flexibility when querying their NoSQL data stored within Couchbase Server. You could run SQL queries against JSON data and everything would be amazing. However, with N1QL [&hellip;]<\/p>","protected":false},"author":63,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1812],"tags":[],"ppma_author":[9032],"class_list":["post-2500","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-n1ql-query"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>N1QL Subquery Expressions Over Nested Couchbase Documents<\/title>\n<meta name=\"description\" content=\"Couchbase Server 5.0 brings subquery expressions, where N1QL subqueries can be used in generic expressions. See what it means for a nested document means.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using N1QL Subquery Expressions to Query Over Nested Couchbase Documents\" \/>\n<meta property=\"og:description\" content=\"Couchbase Server 5.0 brings subquery expressions, where N1QL subqueries can be used in generic expressions. See what it means for a nested document means.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/thepolyglotdeveloper\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-18T19:00:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-31T18:14:46+00:00\" \/>\n<meta name=\"author\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nraboy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nic Raboy, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/\"},\"author\":{\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1\"},\"headline\":\"Using N1QL Subquery Expressions to Query Over Nested Couchbase Documents\",\"datePublished\":\"2017-01-18T19:00:07+00:00\",\"dateModified\":\"2024-01-31T18:14:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/\"},\"wordCount\":507,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/\",\"name\":\"N1QL Subquery Expressions Over Nested Couchbase Documents\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-18T19:00:07+00:00\",\"dateModified\":\"2024-01-31T18:14:46+00:00\",\"description\":\"Couchbase Server 5.0 brings subquery expressions, where N1QL subqueries can be used in generic expressions. See what it means for a nested document means.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using N1QL Subquery Expressions to Query Over Nested Couchbase Documents\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1\",\"name\":\"Nic Raboy, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g\",\"caption\":\"Nic Raboy, Developer Advocate, Couchbase\"},\"description\":\"Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in Java, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Apache Cordova. Nic writes about his development experiences related to making web and mobile development easier to understand.\",\"sameAs\":[\"https:\/\/www.thepolyglotdeveloper.com\",\"https:\/\/www.facebook.com\/thepolyglotdeveloper\",\"https:\/\/x.com\/nraboy\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/nic-raboy-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"N1QL Subquery Expressions Over Nested Couchbase Documents","description":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 5.0\uc740 \uc77c\ubc18 \ud45c\ud604\uc2dd\uc5d0 N1QL \ud558\uc704 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud558\uc704 \ucffc\ub9ac \ud45c\ud604\uc2dd\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc911\ucca9\ub41c \ubb38\uc11c\uc5d0 \ub300\ud55c \uc758\ubbf8\ub97c \uc54c\uc544\ubcf4\uc138\uc694.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/","og_locale":"ko_KR","og_type":"article","og_title":"Using N1QL Subquery Expressions to Query Over Nested Couchbase Documents","og_description":"Couchbase Server 5.0 brings subquery expressions, where N1QL subqueries can be used in generic expressions. See what it means for a nested document means.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/","og_site_name":"The Couchbase Blog","article_author":"https:\/\/www.facebook.com\/thepolyglotdeveloper","article_published_time":"2017-01-18T19:00:07+00:00","article_modified_time":"2024-01-31T18:14:46+00:00","author":"Nic Raboy, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@nraboy","twitter_misc":{"Written by":"Nic Raboy, Developer Advocate, Couchbase","Est. reading time":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/"},"author":{"name":"Nic Raboy, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1"},"headline":"Using N1QL Subquery Expressions to Query Over Nested Couchbase Documents","datePublished":"2017-01-18T19:00:07+00:00","dateModified":"2024-01-31T18:14:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/"},"wordCount":507,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server","SQL++ \/ N1QL Query"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/","url":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/","name":"N1QL Subquery Expressions Over Nested Couchbase Documents","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-18T19:00:07+00:00","dateModified":"2024-01-31T18:14:46+00:00","description":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc11c\ubc84 5.0\uc740 \uc77c\ubc18 \ud45c\ud604\uc2dd\uc5d0 N1QL \ud558\uc704 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ud558\uc704 \ucffc\ub9ac \ud45c\ud604\uc2dd\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc911\ucca9\ub41c \ubb38\uc11c\uc5d0 \ub300\ud55c \uc758\ubbf8\ub97c \uc54c\uc544\ubcf4\uc138\uc694.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/using-n1ql-subquery-expressions-to-query-over-nested-couchbase-documents\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Using N1QL Subquery Expressions to Query Over Nested Couchbase Documents"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/bb545ebe83bb2d12f91095811d0a72e1","name":"Nic Raboy, \uac1c\ubc1c\uc790 \uc639\ud638\uc790, Couchbase","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8863514d8bed0cf6080f23db40e00354","url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","caption":"Nic Raboy, Developer Advocate, Couchbase"},"description":"\ub2c9 \ub77c\ubcf4\uc774\ub294 \ucd5c\uc2e0 \uc6f9 \ubc0f \ubaa8\ubc14\uc77c \uac1c\ubc1c \uae30\uc220\uc744 \uc639\ud638\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4. \uadf8\ub294 Java, JavaScript, Golang \ubc0f Angular, NativeScript, Apache Cordova\uc640 \uac19\uc740 \ub2e4\uc591\ud55c \ud504\ub808\uc784\uc6cc\ud06c\uc5d0 \ub300\ud55c \uacbd\ud5d8\uc774 \uc788\uc2b5\ub2c8\ub2e4. Nic\uc740 \uc6f9 \ubc0f \ubaa8\ubc14\uc77c \uac1c\ubc1c\uc744 \ubcf4\ub2e4 \uc27d\uac8c \uc774\ud574\ud560 \uc218 \uc788\ub3c4\ub85d \uc790\uc2e0\uc758 \uac1c\ubc1c \uacbd\ud5d8\uc5d0 \ub300\ud574 \uae00\uc744 \uc4f0\uace0 \uc788\uc2b5\ub2c8\ub2e4.","sameAs":["https:\/\/www.thepolyglotdeveloper.com","https:\/\/www.facebook.com\/thepolyglotdeveloper","https:\/\/x.com\/nraboy"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/nic-raboy-2\/"}]}},"authors":[{"term_id":9032,"user_id":63,"is_guest":0,"slug":"nic-raboy-2","display_name":"Nic Raboy, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bedeb68368d4681aca4c74fe5f697f0c423b80d498ec50fd915ba018b72c101f?s=96&d=mm&r=g","author_category":"","last_name":"Raboy","first_name":"Nic","job_title":"","user_url":"https:\/\/www.thepolyglotdeveloper.com","description":"\ub2c9 \ub77c\ubcf4\uc774\ub294 \ucd5c\uc2e0 \uc6f9 \ubc0f \ubaa8\ubc14\uc77c \uac1c\ubc1c \uae30\uc220\uc744 \uc639\ud638\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4. \uadf8\ub294 Java, JavaScript, Golang \ubc0f Angular, NativeScript, Apache Cordova\uc640 \uac19\uc740 \ub2e4\uc591\ud55c \ud504\ub808\uc784\uc6cc\ud06c\uc5d0 \ub300\ud55c \uacbd\ud5d8\uc774 \uc788\uc2b5\ub2c8\ub2e4. Nic\uc740 \uc6f9 \ubc0f \ubaa8\ubc14\uc77c \uac1c\ubc1c\uc744 \ubcf4\ub2e4 \uc27d\uac8c \uc774\ud574\ud560 \uc218 \uc788\ub3c4\ub85d \uc790\uc2e0\uc758 \uac1c\ubc1c \uacbd\ud5d8\uc5d0 \ub300\ud574 \uae00\uc744 \uc4f0\uace0 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=2500"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2500\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=2500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2500"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}