- Section 1: Basics
- 2: User-friendly language
- 3: Documents, not rows
- 4: Pattern matching with LIKE
- 5: Matching elements in nested arrays with ANY
- 6: Combining multiple conditions with AND
- 7: Querying primary keys
- 8: Quick review
- 9: Pagination with LIMIT and OFFSET
- 10: Filtering grouped data with HAVING
- 11. Review
- 12. Section 2: Joins
- 13. Joins
- 14. Joins
- 15. Exercise
- 16. Exercise
- 17. NEST
- 18. Chaining JOINs
- 19. Example
- 20. Array Comprehensions
- 21. Section 3: DML Statements
- 22. Nest
- 23. Nest
- 24. UNNEST
- 25. Filtering on nested data
- 26. Subquery
- 27. Subquery
- 28. Window Functions
- 29. Window Functions
- 30. UPDATE
- 31. Case Study I. E-Commerce
- 32. Shopper - Browsing products from page to page
- 33. Shopper - Listing product categories
- 34. Shopper - Browsing and searching for a product
- 35. Shopper - Listing products in a category
- 36. Shopper - Finding the most popular products in a category
- 37. Shopper - Browsing products and sorting results
- 38. Shopper - Shopping at a one-day sale
- 39. Shopper - Listing the top 10 best selling products
- 40. Shopper - Listing the highest rated products
- 41. Merchant - Preparing a purchase order
- 42. Merchant - Finding the most valued shoppers
- 43. Merchant - Reporting customers by region
- 44. Merchant - Reporting the active monthly customers
- 45. Merchant - Identifying non-performing products
- 46. Merchant - Generating the month-over-month sales report
- 47. Merchant - Big ticket orders
- 48. Case Study II . Social Game
- 49. Assembling and loading user profiles
- 50. Listing messages sent by a user
- 51. Generating scoreboards
JOIN clause
N1QL provides joins, which allow you to assemble new objects by combining two or more source objects.
For example, suppose there are two buckets, users_with_orders and orders_with_users. The bucket users_with_orders contains user profiles along with the order Ids of the orders that they placed.
The bucket orders_with_users contains the description of a particular order placed by a user. You can use the JOIN clause to view a user-profile along with the orders that she has placed over time.
The example on the right combines a users profile document having the key "Elinor_33313792", with the orders that the user has placed. In N1QL, joins must use the ON KEYS clause. In this example, we get a list of orders by unrolling the shipped_order_history array and using that as input to the JOIN clause.
N1QL provides joins, which allow you to assemble new objects by combining two or more source objects.
For example, suppose there are two buckets, users_with_orders and orders_with_users. The bucket users_with_orders contains user profiles along with the order Ids of the orders that they placed.
The bucket orders_with_users contains the description of a particular order placed by a user. You can use the JOIN clause to view a user-profile along with the orders that she has placed over time.
The example on the right combines a users profile document having the key "Elinor_33313792", with the orders that the user has placed. In N1QL, joins must use the ON KEYS clause. In this example, we get a list of orders by unrolling the shipped_order_history array and using that as input to the JOIN clause.
To run this example, click the button in the top right corner of the code editor.