-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlibraryQueries.sql
More file actions
159 lines (133 loc) · 3.54 KB
/
Copy pathlibraryQueries.sql
File metadata and controls
159 lines (133 loc) · 3.54 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
--question 1
SELECT (
SELECT COUNT( * )
FROM Books
WHERE Title LIKE "%Dracula%"
)
- (
SELECT COUNT( * )
FROM Loans
WHERE ReturnedDate IS NULL AND
BookID IN (
SELECT BookID
FROM Books
WHERE Title LIKE "%Dracula%"
)
)
AS AvailableBooks_Dracula;
-- question 2
INSERT INTO Books (
Title,
Author,
Published,
Barcode
)
VALUES (
"Dracula",
"Bram Stoker",
"1897",
"4819277482"
),
(
"Gulliver's Travels",
"Jonathan Swift",
"1729",
"4899254401"
);
--question 3
INSERT INTO Loans (
BookID,
PatronID,
LoanDate,
DueDate
)
VALUES (
(
SELECT BookID
FROM Books
WHERE Barcode = "2855934983"
),
(
SELECT PatronID
FROM Patrons
WHERE Email = "jvaan@wisdompets.com"
),
"2020-08-25",
"2020-09-08"
),
(
(
SELECT BookID
FROM Books
WHERE Barcode = "4043822646"
),
(
SELECT PatronID
FROM Patrons
WHERE Email = "jvaan@wisdompets.com"
),
"2020-08-25",
"2020-09-08"
);
-- question 4
SELECT P.PatronID,
P.FirstName,
P.LastName,
P.Email,
B.BookID,
B.Title,
L.LoanDate
FROM Patrons AS P,
Books AS B,
Loans AS L
WHERE P.PatronID = L.PatronID AND
B.BookID = L.BookID AND
L.DueDate = "2020-07-13" AND
L.ReturnedDate IS NULL;
--question 5
UPDATE Loans
SET ReturnedDate = "2020-07-05"
WHERE BookID IN (
SELECT BookID
FROM Books
WHERE Barcode IN ("6435968624", "5677520613", "8730298424")
)
AND
ReturnedDate IS NULL;
--question 6
SELECT P.PatronID,
P.FirstName,
P.LastName,
P.Email,
COUNT( * ) AS BooksCheckedOut
FROM Patrons AS P,
Loans AS L
WHERE L.PatronID = P.PatronID
GROUP BY P.PatronID
ORDER BY BooksCheckedOut
LIMIT 10;
--question 7
SELECT DISTINCT B.Title,
B.Published,
B.Barcode
FROM Books AS B,
Loans AS L
WHERE B.BookID = L.BookID AND
B.Published LIKE "189_" AND
L.ReturnedDate IS NOT NULL;
--question 8
SELECT Published,
COUNT( * ) AS BooksPublished
FROM Books
GROUP BY Published
ORDER BY BooksPublished DESC;
--question 9
SELECT B.Title,
B.Author,
Count( * ) AS NumberOfTimesIssued
FROM Books AS B,
Loans AS L
WHERE B.BookID = L.BookID
GROUP BY B.Title
ORDER BY NumberOfTimesIssued DESC
LIMIT 5;