-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathsql_cheatsheet.sql
More file actions
59 lines (43 loc) · 1.61 KB
/
sql_cheatsheet.sql
File metadata and controls
59 lines (43 loc) · 1.61 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
46
47
48
49
50
51
52
53
54
55
56
57
58
-- SQLite3 commands
./sqlite3 db_name.db
.headers on
.backup backup1
.restore backup1
.tables -- list tables
.schema -- list schemas
.dump -- list all statements
-- SQL comands
CREATE TABLE table_name (var1 type1 PRIMARY KEY, var2 type2 NOT NULL);
DROP TABLE table_name;
CREATE VIEW view_name AS
SELECT ...
DROP VIEW view_name;
INSERT INTO table_name (var1, var2) VALUES ("foo", "bar");
INSERT INTO table_name (var1) VALUES ("foo");
UPDATE table_name SET var2="val2" WHERE var1="val1";
DELETE FROM table_name WHERE var="val";
-- Order of operations: select, join, filter, order
-- SELECTION --
SELECT var1, var2 FROM table_name; -- selects & orders result columns
SELECT var1 AS whatever FROM table_name; -- rename result column
SELECT DISTINCT var1 FROM table_name; -- remove duplicates
SELECT count(*) FROM table_name; -- count of rows
SELECT count(DISTINCT var1) FROM table_name; -- distinct count of rows
SELECT * FROM table_name LIMIT 1;
-- JOINING --
SELECT * FROM table1 JOIN table2 ON table1.var1 = table2.var2;
SELECT * FROM table1 INNER JOIN table2 ON table1.var1 = table2.var2;
SELECT * FROM table1
INNER JOIN table2 ON table1.var1 = table2.var2
INNER JOIN table3 ON table2.var2 = table3.var3;
-- FILTERING --
SELECT * FROM table_name WHERE var1="val1"; -- filtering
/* Filtering operators
=, >, <, <=, >=
<> is !=
*/
SELECT * FROM table1 WHERE var LIKE "%regex%"; -- not case sensitive
SELECT * FROM table1 WHERE var LIKE "regex%"; -- starts with
-- ORDERING --
SELECT * FROM table_name ORDER BY var1 DESC; -- ordering
SELECT * FROM table_name ORDER BY var2 COLLATE NOCASE; -- ordering, case insensitive