sql: better name for lexer hack
[sqlgg.git] / example / test.sql
blob66b42214412fdef980ad9dba7da226660a492eb8
2 CREATE TABLE test (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,descr TEXT);
3 -- [sqlgg] name=select_all
4 SELECT * FROM test;
5 SELECT name,descr FROM test;
6 INSERT INTO test VALUES;
7 -- [sqlgg] name=Add
8 INSERT INTO test (name,descr) VALUES;
9 SELECT * FROM test WHERE name = @name LIMIT @limit;
10 -- [sqlgg] name=select_distinct_limit
11 SELECT DISTINCT *
12 FROM test ORDER BY id DESC LIMIT ?;
13 -- [sqlgg] name=Delete
14 DELETE FROM test WHERE id = ?;
15 -- [sqlgg] name=Exaggerate
16 UPDATE test -- comment
17 SET descr = @extra || ' ' || descr;
19 CREATE TABLE loc (id INTEGER PRIMARY KEY AUTOINCREMENT, city TEXT, test_id INTEGER);
20 SELECT test.id FROM test JOIN loc ON test_id = test.id;
21 SELECT test.id FROM test WHERE id = ? UNION SELECT test.id FROM test WHERE id = ?;
22 SELECT id+test_id AS x,? FROM loc ORDER BY x,?/x LIMIT ?,100;
24 CREATE TABLE zuzu AS
25   SELECT test.id,@text || city AS city, name FROM loc JOIN test ON test_id=test.id;
27 SELECT x,z FROM (SELECT name as x,
28   city || ' ' || descr as "y""",
29   max(length(city),random(*)) as z FROM test LEFT JOIN (SELECT name AS city FROM test WHERE id=@id)) WHERE x > @xlo AND z < @zhi;
31 SELECT name FROM test WHERE @where{ {id=@id} | {name LIKE @name} | None };
33 SELECT name FROM test WHERE id=@id ORDER BY @order{ DESC {descr} | KEY {id} } @direction;