You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"SELECT * FROM CustomerOrders |> AGGREGATE SUM(cost) AS total_cost GROUP BY customer_id, state, item_type |> EXTEND COUNT(*) OVER (PARTITION BY customer_id) AS num_orders |> WHERE num_orders > 1 |> AGGREGATE AVG(total_cost) AS average GROUP BY state DESC, item_type ASC",
15362
15362
);
15363
+
15364
+
// join pipe operator - INNER JOIN
15365
+
dialects.verified_stmt("SELECT * FROM users |> JOIN orders ON users.id = orders.user_id");
15366
+
dialects.verified_stmt("SELECT * FROM users |> INNER JOIN orders ON users.id = orders.user_id");
15367
+
15368
+
// join pipe operator - LEFT JOIN
15369
+
dialects.verified_stmt("SELECT * FROM users |> LEFT JOIN orders ON users.id = orders.user_id");
15370
+
dialects.verified_stmt("SELECT * FROM users |> LEFT OUTER JOIN orders ON users.id = orders.user_id");
15371
+
15372
+
// join pipe operator - RIGHT JOIN
15373
+
dialects.verified_stmt("SELECT * FROM users |> RIGHT JOIN orders ON users.id = orders.user_id");
15374
+
dialects.verified_stmt("SELECT * FROM users |> RIGHT OUTER JOIN orders ON users.id = orders.user_id");
15375
+
15376
+
// join pipe operator - FULL JOIN
15377
+
dialects.verified_stmt("SELECT * FROM users |> FULL JOIN orders ON users.id = orders.user_id");
15378
+
dialects.verified_query_with_canonical(
15379
+
"SELECT * FROM users |> FULL OUTER JOIN orders ON users.id = orders.user_id",
15380
+
"SELECT * FROM users |> FULL JOIN orders ON users.id = orders.user_id",
15381
+
);
15382
+
15383
+
// join pipe operator - CROSS JOIN
15384
+
dialects.verified_stmt("SELECT * FROM users |> CROSS JOIN orders");
15385
+
15386
+
// join pipe operator with USING
15387
+
dialects.verified_query_with_canonical(
15388
+
"SELECT * FROM users |> JOIN orders USING (user_id)",
15389
+
"SELECT * FROM users |> JOIN orders USING(user_id)",
15390
+
);
15391
+
dialects.verified_query_with_canonical(
15392
+
"SELECT * FROM users |> LEFT JOIN orders USING (user_id, order_date)",
15393
+
"SELECT * FROM users |> LEFT JOIN orders USING(user_id, order_date)",
15394
+
);
15395
+
15396
+
// join pipe operator with alias
15397
+
dialects.verified_query_with_canonical(
15398
+
"SELECT * FROM users |> JOIN orders o ON users.id = o.user_id",
15399
+
"SELECT * FROM users |> JOIN orders AS o ON users.id = o.user_id",
15400
+
);
15401
+
dialects.verified_stmt("SELECT * FROM users |> LEFT JOIN orders AS o ON users.id = o.user_id");
15402
+
15403
+
// join pipe operator with complex ON condition
15404
+
dialects.verified_stmt("SELECT * FROM users |> JOIN orders ON users.id = orders.user_id AND orders.status = 'active'");
15405
+
dialects.verified_stmt("SELECT * FROM users |> LEFT JOIN orders ON users.id = orders.user_id AND orders.amount > 100");
15406
+
15407
+
// multiple join pipe operators
15408
+
dialects.verified_stmt("SELECT * FROM users |> JOIN orders ON users.id = orders.user_id |> JOIN products ON orders.product_id = products.id");
15409
+
dialects.verified_stmt("SELECT * FROM users |> LEFT JOIN orders ON users.id = orders.user_id |> RIGHT JOIN products ON orders.product_id = products.id");
15410
+
15411
+
// join pipe operator with other pipe operators
15412
+
dialects.verified_stmt("SELECT * FROM users |> JOIN orders ON users.id = orders.user_id |> WHERE orders.amount > 100");
15413
+
dialects.verified_stmt("SELECT * FROM users |> WHERE users.active = true |> LEFT JOIN orders ON users.id = orders.user_id");
15414
+
dialects.verified_stmt("SELECT * FROM users |> JOIN orders ON users.id = orders.user_id |> SELECT users.name, orders.amount");
0 commit comments