-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlab12.sql
78 lines (54 loc) · 1.52 KB
/
lab12.sql
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
-- Add an assignment with NULL due_date
INSERT INTO assignments (course_id, title, status)
VALUES ('COMP1238', 'Assignment with no date', 'Not Started');
SELECT * FROM assignments
LIMIT 10;
SELECT count(*) FROM courses;
SELECT min(due_date) FROM assignments;
SELECT *
FROM courses
WHERE course_name LIKE 'Intro%';
SELECT sqlite_version();
SELECT upper('ABCxyz');
SELECT length('abcde');
SELECT 7*5;
SELECT concat('ABC', '-', 'xyz');
SELECT date();
SELECT strftime('%Y', due_date) AS Year, *
FROM assignments;
-- SUBSTRING(string, start, length)
SELECT DISTINCT SUBSTRING(course_id, 1, 4)
FROM courses;
-- Count how many courses there are with each prefix like 'MATH' and 'COMP'
SELECT SUBSTRING(course_id, 1, 4) AS prefix, count(*)
FROM courses
GROUP BY prefix;
SELECT *
FROM assignments
WHERE status != 'Completed'
ORDER BY due_date;
-- Use this query as a reference for the next step
SELECT course_id, title, status, due_date
FROM assignments
WHERE status != 'Completed'
AND course_id LIKE 'COMM%'
AND due_date < '2024-12-31'
ORDER BY due_date;
-- Exercise Questions
1 SELECT concat (course_name,' - ', semester)
FROM courses;
2 SELECT course_id, course_name, lab_time
FROM courses
WHERE lab_time like '%Fri%';
3 SELECT *
FROM assignments
WHERE due_date > date ('now');
4 SELECT count(*)
FROM assignments
GROUP by status;
5 SELECT MAX(course_name) FROM courses;
6 SELECT upper(course_name) FROM courses;
7 SELECT title FROM assignments
WHERE due_date like '%09%';
8 SELECT * FROM assignments
WHERE due_date IS NULL