forked from sqlc-dev/sqlc
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquery.sql
More file actions
45 lines (33 loc) · 1.04 KB
/
query.sql
File metadata and controls
45 lines (33 loc) · 1.04 KB
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
42
43
44
45
CREATE SCHEMA IF NOT EXISTS baz;
CREATE TABLE users (
id integer NOT NULL PRIMARY KEY,
name varchar(255) NOT NULL,
age integer NULL
);
CREATE TABLE posts (
id integer NOT NULL PRIMARY KEY,
user_id integer NOT NULL,
likes integer[] NOT NULL
);
CREATE TABLE baz.users (
id integer NOT NULL PRIMARY KEY,
name varchar(255) NOT NULL
);
-- name: Only :one
SELECT sqlc.embed(users) FROM users;
-- name: WithAlias :one
SELECT sqlc.embed(u) FROM users u;
-- name: WithSubquery :many
SELECT sqlc.embed(users), (SELECT count(*) FROM users) AS total_count FROM users;
-- name: WithAsterisk :one
SELECT sqlc.embed(users), * FROM users;
-- name: Duplicate :one
SELECT sqlc.embed(users), sqlc.embed(users) FROM users;
-- name: Join :one
SELECT sqlc.embed(users), sqlc.embed(posts) FROM posts
INNER JOIN users ON posts.user_id = users.id;
-- name: WithSchema :one
SELECT sqlc.embed(bu) FROM baz.users bu;
-- name: WithCrossSchema :many
SELECT sqlc.embed(users), sqlc.embed(bu) FROM users
INNER JOIN baz.users bu ON users.id = bu.id;