Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
"screencastMode.onlyKeyboardShortcuts": true,
"terminal.integrated.fontSize": 18,
"window.zoomLevel": 3,
"workbench.activityBar.visible": true,
"workbench.colorTheme": "Default Light+",
"workbench.fontAliasing": "antialiased",
"workbench.statusBar.visible": true,
Expand Down
22 changes: 22 additions & 0 deletions Scripts/Query1.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#How many cars have been sold per employee?
SELECT emp.employeeId ,emp.firstName,emp.lastName, COUNT(sls.salesAmount) totalSale
FROM sales sls
JOIN employee emp ON sls.employeeId = emp.employeeId
GROUP BY emp.employeeId
ORDER BY 4 DESC ;
#Find the least and most expensive car sold by each employee
SELECT emp.employeeId ,emp.firstName,emp.lastName, MIN(sls.salesAmount) minSale, MAX(sls.salesAmount) maxSale
FROM sales sls
JOIN employee emp ON sls.employeeId = emp.employeeId
GROUP BY emp.employeeId ;

#Display a report for employees who have sold more than five cars
SELECT emp.employeeId empId, emp.firstName empFirstName, emp.lastName empLastName, COUNT(sls.salesAmount) sales_count
FROM employee emp
JOIN sales sls ON emp.employeeId=sls.employeeId
GROUP BY 1,2,3
HAVING COUNT(sls.salesAmount)> 5
ORDER BY 4 DESC;



53 changes: 53 additions & 0 deletions Scripts/query.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
SELECT *
FROM employee
LIMIT 5;
Go
SELECT *
FROM model
LIMIT 5;

SELECT sql
FROM sqlite_schema
WHERE name= 'employee';

# Make a list of employees and their immediate managers
SELECT emp.firstName AS employee_first_name,emp.lastName AS employee_last_name,emp.title,
mng.firstName AS manager_first_name,mng.lastName AS manager_last_name
FROM employee e
INNER JOIN employee mng
ON emp.managerId = mng.employeeId;

#Find salespeople who have zero sales
SELECT emp.firstName, emp.lastName
FROM employee emp
LEFT JOIN sales s ON emp.employeeId = sls.employeeId
WHERE emp.title= 'Sales Person' AND salesAmount ISNULL;

#List all customers and their sales, even if some data is gone
SELECT cus.firstName, cus.lastName, sls.salesAmount
FROM customer cus
INNER JOIN sales sls
ON cus.customerId = sls.customerId
UNION
-- UNION WITH CUSTOMERS WHO HAVE NO SALES
SELECT cus.firstName, cus.lastName,sls.salesAmount
FROM customer cus
LEFT JOIN sales sls
ON cus.customerId = sls.customerId
WHERE sls.salesId IS NULL
UNION
-- UNION WITH SALES MISSING CUSTOMER DATA
SELECT cus.firstName, cus.lastName, sls.salesAmount
FROM sales sls
LEFT JOIN customer cus
ON cus.customerId = sls.customerId
WHERE cus.customerId IS NULL;

#another optimized and cleaner way:
SELECT
COALESCE(cus.firstName, 'N/A') AS firstName,
COALESCE(cus.lastName, 'N/A') AS lastName,
COALESCE(sls.salesAmount, 0) AS salesAmount
FROM customer cus
FULL OUTER JOIN sales sls
ON cus.customerId = sls.customerId;