-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWSDA SQL FINAL PROJECT.sqbpro
291 lines (128 loc) · 5.13 KB
/
WSDA SQL FINAL PROJECT.sqbpro
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
/*The situation: For a long time, Adams Andrew, Manager of WSDA Music, has been unable to
account for a discrepancy in his company’s financials.
The furthest he has gotten in his own attempts to analyze the company data is figuring out that
the discrepancy occurred between the years 2011 and 2012. But that’s about all that Adams
knows for certain */
/*You have been called in to do what you do best—apply your SQL skills:
• Analyze WSDA Music’s Data to:
− Get a list of suspects
− Narrow your list
− Pinpoint your prime suspect(s)
The Management team at WSDA Music is eager to review your findings! Work through each part of
the project below, then watch the corresponding final project movie to compare your answers.
*/
/*FINDING THE NUMBER OF TRANSACTIONS THAT OCCURED BETWEEN 2011 AND 2012 */
SELECT COUNT(*) AS [NUMBER OF TRANSACTIONS BETWEEN 2011 AND 2012]
FROM Invoice
WHERE InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31';
/* FINDING TOTAL AMOUNT OF MONEY MADE BY WSDA MUSIC DURING THIS PERIOD */
SELECT
SUM(total) AS [TOTAL AMOUNT OF MONEY MADE BETWEEN 2011 AND 2012]
FROM Invoice
WHERE InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31';
/*GETTING THE LIST OF CUSTOMERS WHO MADE A PURCHASE BETWEEN 2011 AND 2012 */
SELECT
i.InvoiceId,
c.CustomerId,
c.FirstName || ' ' || c.LastName AS [CUSTOMER FULL NAME],
i.InvoiceDate
FROM Invoice AS i INNER JOIN CUSTOMER AS c
ON c.CustomerId = i.CustomerId
WHERE InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31'
ORDER BY i.total DESC;
/*LIST OF CUSTOMERS, SALES REP AND TOTAL OF TRANSACTIONS GENERATED FOR EACH CUSTOMER BETWEEN 2011 AND 2012
*/
SELECT
i.InvoiceId,
c.CustomerId,
c.FirstName || ' ' || c.LastName AS [CUSTOMER FULL NAME],
i.total ,
i.InvoiceDate AS [DATE OF PURCHASE],
e.FirstName || ' ' || e.LastName AS [EMPLOYEE FULL NAME]
FROM Invoice AS i INNER JOIN CUSTOMER AS c
ON c.CustomerId = i.CustomerId
INNER JOIN Employee AS e
ON c.SupportRepId = e.EmployeeId
WHERE InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31'
ORDER BY i.total DESC;
/*FIND THE AVERAGE TRANSACTION AMOUNT BETWEEN 2011 AND 2012*/
SELECT
round(avg(total),2) AS [AVG TRANSACTION AMOUNT]
FROM
Invoice
WHERE
InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31';
/* FINDING THE NUMBER OF TRANSACTIONS THAT ARE ABOVE THE AVERAGE TRANSACTION AMOUNT FOR THE SAME TIME PERIOD*/
SELECT
COUNT(total) AS [Number of Transactions above average]
FROM Invoice
WHERE total > (SELECT
round(avg(total),2) AS [AVG TRANSACTION AMOUNT]
FROM
Invoice
WHERE
InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31')
AND InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31';
/*CALCULATING THE AVERAGE TRANSACTION FOR EACH YEAR THE WSDA HAS BEEN IN BUSINESS
*/
SELECT
round(avg(total),2) AS [AVERAGE TOTAL OF TRANSACIONS],
strftime('%Y',InvoiceDate) AS [TRANSACTION YEAR]
FROM Invoice
GROUP BY strftime('%Y',InvoiceDate)
ORDER BY InvoiceDate;
/*FINDING EMPLOYEES WHO EXCEEDED THE AVERAGE FROM SALES THEY GENERATED BETWEEN 2011 AND 2012*/
SELECT
e.FirstName,
e.LastName,
sum(i.total) AS [TOTAL SALES FOR TRANSACTION AMOUNTS EXCEEDING AVERAGE]
FROM
Invoice AS i INNER JOIN customer AS c
ON i.CustomerId = c.CustomerId
INNER JOIN Employee AS e
ON e.EmployeeId = c.SupportRepId
WHERE InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31'
AND (i.total>11.66)
GROUP BY
e.FirstName,
e.LastName
ORDER BY e.LastName;
/*CREATION OF A COMMISSION PAYOUT COLUMN FOR EACH EMPLOYEE */
SELECT
e.FirstName AS [employee first name],
e.LastName AS [employee last name],
sum(i.total) AS [Total Sales],
round(sum(i.total)*.15,2) AS [COMMISION PAYOUT]
FROM
Invoice AS i INNER JOIN customer AS c
ON i.CustomerId = c.CustomerId
INNER JOIN Employee AS e
ON e.EmployeeId = c.SupportRepId
WHERE
InvoiceDate BETWEEN '2011-01-01' AND '2012-12-31'
GROUP BY
e.FirstName,
e.LastName
ORDER BY
e.LastName;
--JANE PEACOCK MADE THE GREATEST AMOUNT OF COMMISSION
/*LIST OF CUSTOMERS THAT JANE PEACOCK SUPPORTED */
SELECT
c.FirstName AS [customer first name],
c.LastName AS [customer last name],
i.total AS [transaction total]
FROM
Invoice AS i INNER JOIN customer AS c
ON i.CustomerId = c.CustomerId
INNER JOIN Employee AS e
ON e.EmployeeId = c.SupportRepId
WHERE e.FirstName LIKE 'Jane' AND e.LastName lIKE 'Peacock'
ORDER BY i.total DESC;
--THE CUSTOMER THAT MADE THE HIGHEST PURCHASE WAS JOHN DOEEIN
/*LOOKING AT CUSTOMER JOHN DOOEIN RECORD TO FIND ANY SUSPICIOUS ACTIVITY */
SELECT *
FROM Customer
WHERE FirstName LIKE 'John' AND LastName LIKE 'Doeein';
--THERE IS NO BILLING ADDRESS INFORMATION FOR THIS Customer
/*AFTER ANALYZING THE DATA AND FINDING SUSPICIOUS RECORDS FOR CUSTOMER JOHN DOEEIN
OUR PRIMARY PERSON OF INTEREST WOULD BE EMPLOYEE JANE PEACOCK WHO WAS THE SUPPORT REPRESENTATIVE FOR THIS CUSTOMER */</sql><current_tab id="0"/></tab_sql></sqlb_project>