-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathusage.ts
41 lines (32 loc) · 963 Bytes
/
usage.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { QueryBuilder } from "./query.builder.ts";
const queryOne: string = new QueryBuilder()
.select("users.name, COUNT(purchases.id) AS total_purchases")
.from("users, purchases")
.where("users.id = purchases.user_id")
.groupBy("users.name")
.build();
console.log(queryOne);
console.log("...\n");
const queryTwo: string = new QueryBuilder()
.select("users.name, users.email")
.from("users")
.join("orders", "users.id = orders.user_id")
.where("orders.count > 100")
.where("users.location = 'USA'")
.groupBy("users.name, users.email")
.orderBy("users.name")
.build();
console.log(queryTwo);
/**
SELECT users.name, COUNT(purchases.id) AS total_purchases
FROM users, purchases
WHERE users.id = purchases.user_id
GROUP BY users.name
...
SELECT users.name, users.email
FROM users
JOIN orders ON users.id = orders.user_id
WHERE orders.count > 100 AND users.location = 'USA'
GROUP BY users.name, users.email
ORDER BY users.name
*/