forked from trentparkinson/SQL-for-Data-Science
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SQL_data_science_quiz_4.sql
67 lines (55 loc) · 2.43 KB
/
SQL_data_science_quiz_4.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
-- Q1) Pull a list of customer ids with the customer’s full name, and address,
-- along with combining their city and country together. Be sure to make a
-- space in between these two and make it UPPER CASE.
SELECT CustomerId,
FirstName || " " || LastName AS FullName,
Address,
UPPER(City || " " || Country) AS CityCountry
FROM Customers
------------------------------------------------------------------------------------
-- Q2) Create a new employee user id by combining the first 4 letter of the
-- employee’s first name with the first 2 letters of the employee’s last name.
-- Make the new field lower case and pull each individual step to show your work.
SELECT FirstName,
LastName,
LOWER(SUBSTR(FirstName,1,4)) AS A,
LOWER(SUBSTR(LastName,1,2)) AS B,
LOWER(SUBSTR(FirstName,1,4)) || LOWER(SUBSTR(LastName,1,2)) AS userId
FROM Employees
------------------------------------------------------------------------------------
-- Q3) Show a list of employees who have worked for the company for 15 or more
-- years using the current date function. Sort by lastname ascending.
SELECT FirstName,
LastName,
HireDate,
(STRFTIME('%Y', 'now') - STRFTIME('%Y', HireDate))
- (STRFTIME('%m-%d', 'now') < STRFTIME('%m-%d', HireDate))
AS YearsWorked
FROM Employees
WHERE YearsWorked >= 15
ORDER BY LastName ASC
------------------------------------------------------------------------------------
-- Q4) Profiling the Customers table, answer the following question.
SELECT COUNT(*)
FROM Customers
WHERE [some_column] IS NULL
-- some_column: FirstName, PostalCode, Company, Fax, Phone, Address
-- Answers: Postal Code, Company, Fax, Phone
------------------------------------------------------------------------------------
-- Q5) Find the cities with the most customers and rank in descending order.
SELECT City,
COUNT(*)
FROM Customers
GROUP BY City
ORDER BY COUNT(*) DESC
------------------------------------------------------------------------------------
-- Q6) Create a new customer invoice id by combining a customer’s invoice id with
-- their first and last name while ordering your query in the following order:
-- firstname, lastname, and invoiceID.
SELECT C.FirstName,
C.LastName,
I.InvoiceId,
C.FirstName || C.LastName || I.InvoiceID AS NewId
FROM Customers C INNER JOIN Invoices I
ON C.CustomerId = I.CustomerID
WHERE NewId LIKE 'AstridGruber%'