Advertisement
Guest User

Untitled

a guest
Apr 26th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. ########################################
  2. #### Select and Return Records
  3.  
  4. # SQL: Select everything from the users table.
  5. SELECT u.*
  6. FROM users as u;
  7.  
  8. # Cypher: match a simple pattern: all nodes with the label `User` and RETURN them.
  9. MATCH (u:User)
  10. RETURN u;
  11.  
  12. ########################################
  13. #### Field Access, Ordering and Paging
  14.  
  15. # SQL
  16. SELECT p.ProductName, p.UnitPrice
  17. FROM products as p
  18. ORDER BY p.UnitPrice DESC
  19. LIMIT 10;
  20.  
  21. # Cypher
  22. MATCH (p:Product)
  23. RETURN p.productName, p.unitPrice
  24. ORDER BY p.unitPrice DESC
  25. LIMIT 10;
  26.  
  27. ########################################
  28. #### Filter by Equality
  29.  
  30. # SQL
  31. SELECT p.ProductName, p.UnitPrice
  32. FROM products AS p
  33. WHERE p.ProductName = 'Chocolade';
  34.  
  35. # Cypher
  36. MATCH (p:Product)
  37. WHERE p.productName = "Chocolade"
  38. RETURN p.productName, p.unitPrice;
  39.  
  40. # There is a shortcut in Cypher if you match for a labeled node with a certain attribute.
  41. MATCH (p:Product {productName:"Chocolade"})
  42. RETURN p.productName, p.unitPrice;
  43.  
  44. #### Filter by List/Range
  45.  
  46. # SQL
  47. SELECT p.ProductName, p.UnitPrice
  48. FROM products as p
  49. WHERE p.ProductName IN ('Chocolade','Chai');
  50.  
  51. # Cypher
  52. MATCH (p:Product)
  53. WHERE p.productName IN ['Chocolade','Chai']
  54. RETURN p.productName, p.unitPrice;
  55.  
  56. ########################################
  57. #### Filter by Multiple Numeric and Textual Predicates
  58.  
  59. # SQL
  60. SELECT p.ProductName, p.UnitPrice
  61. FROM products AS p
  62. WHERE p.ProductName LIKE 'C%' AND p.UnitPrice > 100;
  63.  
  64. # Cypher
  65. MATCH (p:Product)
  66. WHERE p.productName STARTS WITH "C" AND p.unitPrice > 100
  67. RETURN p.productName, p.unitPrice;
  68.  
  69. ########################################
  70. #### Query by Connected Records
  71.  
  72. # SQL
  73. SELECT DISTINCT c.CompanyName
  74. FROM customers AS c
  75. JOIN orders AS o ON (c.CustomerID = o.CustomerID)
  76. JOIN order_details AS od ON (o.OrderID = od.OrderID)
  77. JOIN products AS p ON (od.ProductID = p.ProductID)
  78. WHERE p.ProductName = 'Chocolade';
  79.  
  80. # Cypher
  81. MATCH (p:Product {productName:"Chocolade"})<-[:PRODUCT]-(:Order)<-[:PURCHASED]-(c:Customer)
  82. RETURN distinct c.companyName;
  83.  
  84. ########################################
  85. ### Indexes
  86. #### Query Examples
  87.  
  88. # SQL
  89. CREATE INDEX person_single_property_index ON person (firstname)
  90. CREATE INDEX person_composite_index ON person (firstname, lastname)
  91.  
  92. # Cypher
  93. CREATE INDEX ON :Person(firstname)
  94. CREATE INDEX ON :Person(firstname, lastname)
  95.  
  96. #### Unique Constraint
  97.  
  98. # SQL
  99. ALTER TABLE user ADD CONSTRAINT user_unique_constraint UNIQUE (username)
  100.  
  101. # Cypher
  102. CREATE CONSTRAINT ON (user:User) ASSERT user.username IS UNIQUE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement