Worker
19 |Colo: {colo}
20 |Country: {country}
21 |SQL Metrics
24 |Query count: {stats.queries}
25 |26 | Results count: {stats.results} 27 |
28 |# SELECT: {stats.select}
29 |30 | # SELECT WHERE: {stats.select_where} 31 |
32 |33 | # SELECT LEFT JOIN: {stats.select_leftjoin} 34 |
35 |Welcome to Northwind Traders
6 |Running on Cloudflare's D1
8 |15 | This is a demo of the Northwind dataset, running on{" "} 16 | 21 | Cloudflare Workers 22 | 23 | , and D1 - Cloudflare's newest SQL database, running on SQLite. 24 |
25 |26 | Read our{" "} 27 | 32 | D1 announcement 33 | {" "} 34 | to learn more about D1. 35 |
36 |37 | This dataset was sourced from{" "} 38 | 43 | northwind-SQLite3 44 | 45 | . 46 |
47 |48 | You can use the UI to explore Supplies, Orders, Customers, Employees 49 | and Products, or you can use search if you know what you're looking 50 | for. 51 |
52 | 53 | {/* 54 | `} /> 55 | */} 56 |59 | ballot 60 | Customer information 61 |
62 |Products
59 | 67 || Name | 73 |Qt per unit | 74 |Price | 75 |Stock | 76 |Orders | 77 |78 | |
|---|---|---|---|---|---|
| 85 | 89 | {product.ProductName} 90 | 91 | | 92 |{product.QuantityPerUnit} | 93 |${product.UnitPrice} | 94 |{product.UnitsInStock} | 95 |{product.UnitsOnOrder} | 96 |
59 | ballot 60 | Product information 61 |
62 |60 | ballot 61 | Supplier information 62 |
63 |Suppliers
55 | 63 || 69 | | Company | 70 |Contact | 71 |Title | 72 |City | 73 |Country | 74 |75 | |
|---|---|---|---|---|---|---|
|
82 |
83 |
93 | |
94 | 95 | 99 | {supplier.CompanyName} 100 | 101 | | 102 |{supplier.ContactName} | 103 |{supplier.ContactTitle} | 104 |{supplier.City} | 105 |{supplier.Country} | 106 |
Customers
60 | 68 || 74 | | Company | 75 |Contact | 76 |Title | 77 |City | 78 |Country | 79 |80 | |
|---|---|---|---|---|---|---|
|
87 |
88 |
98 | |
99 | 100 | 104 | {customer.CompanyName} 105 | 106 | | 107 |{customer.ContactName} | 108 |{customer.ContactTitle} | 109 |{customer.City} | 110 |{customer.Country} | 111 |
Employees
67 | 75 || 81 | | Name | 82 |Title | 83 |City | 84 |Phone | 85 |Country | 86 |87 | |
|---|---|---|---|---|---|---|
|
94 |
95 |
101 | |
102 | 103 | {`${employee.FirstName} ${employee.LastName}`} 107 | | 108 |{employee.Title} | 109 |{employee.City} | 110 |{employee.HomePhone} | 111 |{employee.Country} | 112 |
Orders
70 | 78 || Id | 84 |Total Price | 85 |Products | 86 |Quantity | 87 |Shipped | 88 |Ship Name | 89 |City | 90 |Country | 91 |92 | |
|---|---|---|---|---|---|---|---|---|
| 99 | 100 | {order.Id} 101 | 102 | | 103 |{`$${order.TotalProductsPrice.toFixed( 104 | 2 105 | )}`} | 106 |{order.TotalProducts} | 107 |108 | {order.TotalProductsItems} 109 | | 110 |{order.OrderDate} | 111 |{order.ShipName} | 112 |{order.ShipCity} | 113 |{order.ShipCountry} | 114 |
69 | ballot 70 | Employee information 71 |
72 |Search results
124 |No results
; 129 | } 130 | return ( 131 |101 | ballot 102 | Order information 103 |
104 |Products in Order
168 || Product | 174 |Quantity | 175 |Order Price | 176 |Total Price | 177 |Discount | 178 |
|---|---|---|---|---|
| 185 | 189 | {product.ProductName} 190 | 191 | | 192 |{product.Quantity} | 193 |{`$${product.OrderUnitPrice.toFixed( 194 | 2 195 | )}`} | 196 |{`$${( 197 | product.OrderUnitPrice * product.Quantity 198 | ).toFixed(2)}`} | 199 |{`${ 200 | product.Discount * 100 201 | }%`} | 202 |