177|SQL – Intro to Join Statements

Time to complete: 10 minutes
Difficulty: Intermediate-Beginner
Solution

  1. SELECT orders.order_id, employee.first_name, employee.last_name
    FROM orders
    INNER JOIN employee ON orders.emp_order_creation_id=employee.employee_id
  2. SELECT company_name, inventory_name, std_order_qty
    FROM inventory
    INNER JOIN vendor ON inventory.preferred_vendor=vendor.vendor_id
  3. SELECT invoice.order_id, payable_amount
    FROM invoice;
  4. SELECT inventory.inventory_name, vendor.company_name, invoice.emp_received_id, invoice.invoice_receipt_date AS invoice_receipt_date
    FROM (inventory
    INNER JOIN vendor ON inventory.preferred_vendor=vendor.vendor_id)
    INNER JOIN invoice ON invoice.vendor_id=vendor.vendor_id;

Time To complete:30
Difficulty Intermediate
Solution;
1:SELECT order_id, first_name, last_name
From Orders
Inner Join Employee ON Orders.emp_order_creation_id = Employee.employee_id;
2: SELECT company_name, inventory_name, std_order_qty
FROM Vendor
Inner Join Inventory ON Vendor.vendor_id = Inventory.preferred_vendor
3: SELECT OrderDetail.order_id, sum(qty_ordered * price_per_unit) AS payable_amount
FROM OrderDetail
Inner Join Orders ON OrderDetail.order_id = Orders.order_id
Group BY OrderDetail.order_id;
4: Select inventory_name, company_name, Invoice.emp_received_id, Invoice.invoice_receipt_date
From (Inventory
Inner Join Vendor ON Inventory.preferred_vendor = vendor.vendor_id)
Inner Join Invoice ON vendor.vendor_id = invoice.vendor_id;

Time to complete: 20 Minutes
Difficulty: beginner
Solution:
1: SELECT o.order_id, e.first_name, e.last_name

FROM Employee e

INNER JOIN Orders o on o.emp_order_creation_id=e.Employee_ID;

2:SELECT v.company_name, i.inventory_name, i.std_order_qty

FROM Inventory i

LEFT JOIN Vendor v ON i.preferred_vendor = v.vendor_id;

3: SELECT order_id, payable_amount

FROM Invoice;

4: SELECT i.inventory_name, v.company_name, inv.emp_received_id, inv.invoice_receipt_date

FROM (Inventory I INNER JOIN Vendor v ON i.preferred_vendor = v.vendor_id)

INNER JOIN Invoice inv ON inv.vendor_id = v.vendor_id;

completion: 10 minutes

SELECT orders.order_id, employee.first_name, employee.last_name
from orders INNER JOIN employee ON orders.emp_order_creation_id=Employee.Employee_ID
;

SELECT vendor.company_name, inventory.inventory_name, inventory.std_order_qty
from vendor INNER JOIN inventory ON inventory.preferred_vendor=vendor.vendor_id
;

SELECT order_id, payable_amount
FROM invoice
;

SELECT inventory.inventory_name, vendor.company_name, invoice.emp_received_id, invoice.invoice_receipt_date
FROM (vendor INNER JOIN inventory ON inventory.preferred_vendor=vendor.vendor_id) INNER JOIN invoice on invoice.vendor_id=vendor.vendor_id
;

Time to complete: 30 mins
Difficulty: Moderate
Solution:

  1. SELECT o.order_id, e.first_name, e.last_name
    FROM Orders AS o
    INNER JOIN Employee AS e ON o.emp_order_creation_id=e.employee_id;

  2. SELECT v.company_name, i.inventory_name, i.std_order_qty
    FROM Inventory AS i
    INNER JOIN Vendor AS v ON i.preferred_vendor = v.vendor_id;

  3. SELECT order_id, payable_amount
    FROM Invoice;

  4. SELECT i.inventory_name, v.company_name, inv.emp_received_id, inv.invoice_receipt_date
    FROM (Inventory AS i INNER JOIN Vendor AS v ON i.preferred_vendor = v.vendor_id)
    INNER JOIN Invoice AS inv ON v.vendor_id = inv.vendor_id;

Time to complete- 10 minutes
rating: intermediate
solutions

  1. SELECT Orders.order_id, Employee.first_name, Employee.last_name
    FROM Orders
    INNER JOIN Employee ON Orders.emp_order_creation_id = Employee.Employee_ID
  2. SELECT company_name, inventory_name, std_order_qty
    FROM Inventory
    INNER JOIN Vendor ON Inventory.preferred_vendor=Vendor.vendor_id
    3.SELECT order_id, payable_amount
    FROM Invoice
  3. SELECT SELECT i.inventory_name, v.company_name, inv.emp_received_id, inv.invoice_receipt_date
    FROM (Inventory AS i INNER JOIN Vendor AS v ON i.preferred_vendor = v.vendor_id)
    INNER JOIN Invoice AS inv ON v.vendor_id = inv.vendor_id

Time to complete: 15 minutes
Difficulty: Beginner
Notes: Intriguing
1.
SELECT i.inventory_name, v.company_name, iv.emp_received_id, iv.invoice_receipt_date
FROM (Inventory AS i INNER JOIN Vendor AS V ON i.preferred_vendor=v.vendor_id)
INNER JOIN Invoice AS iv ON v.vendor_id=iv.vendor_id;
2.
SELECT v.company_name, i.inventory_name, i.std_order_qty
FROM Vendor AS v
INNER JOIN Inventory AS i ON v.vendor_id=i.preferred_vendor;
3.
SELECT order_id, payable_amount
FROM Invoice;
4.
SELECT i.inventory_name, v.company_name, iv.emp_received_id, iv.invoice_receipt_date
FROM (Inventory AS i INNER JOIN Vendor AS V ON i.preferred_vendor=v.vendor_id)
INNER JOIN Invoice AS iv ON v.vendor_id=iv.vendor_id;

Time: 30 minutes
Level: Intermediate
My answers
Query 1: SELECT Orders.order_id, Employee.first_name, Employee.last_name
FROM Orders
INNER JOIN Employee ON Orders.emp_order_creation_id = Employee.employee_id;
Query 2: SELECT v.company_name, i.inventory_name, i.std_order_qty
FROM Vendor v
INNER JOIN Inventory i ON v.vendor_id = i.preferred_vendor;
Query 3: SELECT order_id, payable_amount
FROM Invoice;
Query 4: SELECT i.inventory_name, v.company_name, iv.emp_received_id, iv.invoice_receipt_date
FROM (Inventory i INNER JOIN Vendor v ON i.preferred_vendor = v.vendor_id) INNER JOIN Invoice iv ON v.vendor_id = iv.vendor_id;

Time to complete: 15 mins
Difficulty: Easy
Solution:

Question 1
SELECT Orders.order_id, Employee.first_name, Employee.last_name
FROM Orders
LEFT JOIN Employee ON Orders.emp_order_creation_id=Employee.Employee_ID;

Question 2
SELECT Vendor.company_name, Inventory.inventory_name, Inventory.std_order_qty
FROM Inventory
INNER JOIN Vendor ON Inventory.preferred_vendor=Vendor.vendor_id;

Question 3
SELECT invoice_id, payable_amount
FROM Invoice;

Question 4
SELECT inv.inventory_name, v.company_name, i.emp_received_id, i.invoice_receipt_date
FROM (Inventory inv INNER JOIN Invoice i ON inv.preferred_vendor=i.vendor_id) INNER JOIN Vendor v ON i.vendor_id=v.vendor_id;

Time to Complete: 20 minutes
Rating: just above beginner

Comments: Another practice that will be good for those with just above beginner experience and understanding in SQL

Solution:
Q1
Select O.order_id, E.First_name, E.last_name
From Orders as O INNER JOIN Employee as E ON O.Emp_order_creation_id = E.Employee_id;

Q2
select V.Company_name, I.inventory_name, I.std_order_qty
from Inventory as I LEFT JOIN Vendor as V ON I.preferred_vendor = V.vendor_id

Q3
Select order_id, payable_amount
From Invoice

Q4
Select i.inventory_name, v.company_name, iv.emp_received_id, iv.invoice_receipt_date
From (Inventory AS I INNER JOIN Vendor AS v ON i.preferred_vendor = v.vendor_id) INNER JOIN Invoice AS iv ON v.vendor_id = iv.vendor_id;

Time to Complete: 45 Minutes

  1. SELECT Orders.order_id, Employee.first_name, Employee.last_name
    FROM Orders
    INNER JOIN Employee ON Orders.emp_order_creation_id=Employee.Employee_ID;

  2. SELECT Vendor.company_name, Inventory.inventory_name, Inventory.std_order_qty
    FROM Inventory
    LEFT JOIN Vendor ON Inventory.preferred_vendor=Vendor.vendor_id;

  3. SELECT order_id, payable_amount
    FROM Invoice

  4. SELECT inventory.inventory_name, Invoice.emp_received_id, Vendor.company_name, Invoice.invoice_receipt_date
    FROM (Inventory INNER JOIN Vendor ON Inventory.preferred_vendor = Vendor.Vendor_ID)
    INNER JOIN Invoice ON Vendor.vendor_id = Invoice.vendor_id;

Time to complete: 20 min
Difficulty: Beginner
1:
SELECT order_id, first_name, last_name
FROM Orders
INNER JOIN Inventory on Orders.emp_order_creation_id=Employee.Employee_ID
2.
SELECT company_name, inventory_name, std_order_qty
FROM Inventory
LEFT JOIN Inventory on Inventory.preferred_vendor = Vendor.vendor_id
3.
SELECT order_id, payable_amount
FROM Invoice
4.
SELECT inventory_name, company_name, emp_recieved_id, invoice_receipt_date
FROM (Inventory AS I INNER JOIN Vendor AS V ON I.Preferred_Vendor=V.Vendor_ID)
INNER JOIN Invoice AS INV ON V.Vendor_ID=INV.Vendor_ID;

Time to complete: 20 min
Difficulty: easy
Solution:

  1. SELECT o.order_id, e.first_name. e.last_name
    FROM orders AS o
    JOIN employee AS e ON o.emp_order_creation_id=e.employee_id;
  2. SELECT v.company_name, i.inventory_name, i. std_order_qty
    FROM inventory AS i
    LEFT JOIN vendor AS v ON i.preferred_vendor=v.vendor_id;
  3. SELECT order_id, payable_amount
    FROM invoice;
  4. SELECT i.inventory_name, v.company_name, iv._emp_received_id, iv.invoice_receipt_date
    FROM (inventory AS i JOIN vendor AS v ON i.preferred_vendor=v.vendor_id) JOIN invoice AS iv ON iv.vendor_id=v.vendor_id

Time To complete:15
Rating:Beginner
Comments: Fun
Question 1:
SELECT o.order_id, e.first_name, e.last_name
FROM Orders o
INNER JOIN Employee e ON o.emp_order_creation_id=e.employee_id;

Question 2:
SELECT v.company_name, i.inventory_name, i.std_order_qty
FROM Inventory i
INNER JOIN Vendor v ON i.preferred_vendor=v.vendor_id;

Question 3:
SELECT o.order_id, i.payable_amount
FROM Orders o
INNER JOIN Vendor v ON o.vendor_id=v.vendor_id
INNER JOIN Invoice i ON v.vendor_id= i.vendor_id;

Question 4:
SELECT i.inventory_name, v.compay_name, iv.emp_received_id, iv.invoice_receipt_date
FROM Inventory i
INNER JOIN Vendor v ON i.preferred_vendor=v.vendor_id
INNER JOIN Invoice iv ON v.vendor_id=iv.vendor_id;

Time to complete: 30 minutes
Difficulty: Intermediate
Notes: Really enjoyed this challenge

  1. Select order_id, first_name, last_name
    From orders
    Inner join employee on Orders.emp_order_creation_id=Employee.Employee_ID
  2. Select company_name, inventory_name, std_order_qty
    From vendor
    Where preferred_vendor is not null
    Inner join inventory on vendor.vendor_id=inventory.preferred_vendor
  3. Select order_id, payable_amount
    From invoice
  4. select inventory.inventory_name, vendor.company_name, invoice.emp_received_id, invoice.invoice_receipt_date
    from ((inventory
    inner join vendor on inventory.preferred_vendor = vendor.vendor_id)
    inner join invoice on vendor.vendor_id = invoice.vendor_id);

Time to complete: 25 min
Difficulty: Intermediate
Solution:
SELECT o.order_id, e.first_name, e.last_name
FROM Orders o INNER JOIN Employee e ON o.emp_order_creation_id=e.employee_id;
SELECT v.company_name, i.inventory_name, i.std_order_qty
from Vendor v Inner Join Inventory i on v.vendor_id = i.preferred_vendor
SELECT order_id, payable_amount
from Invoice
SELECT i.inventory_name, v.company_name, invoice.emp_received_id, invoice.invoice_receipt_date
From ((Inventory i Inner Join Vendor v on i.preferred_vendor = v.vendor_id)Inner Join Invoice invoice on v.vendor_id = invoice.vendor_id);

Time: 20 mins
Rating: Medium
Solution:

  1. SELECT o.order_id, e.first_name, e.last_name
    FROM Orders AS o
    INNER JOIN Employee AS e ON o.emp_order_creation_id = e.Employee_ID;
  2. SELECT v.company_name, i.inventory_name, i.std_order_qty
    FROM Vendor AS v
    INNER JOIN Inventory AS i ON i.preferred_vendor=v.vendor_id;
  3. SELECT i.order_id, i.payable_amount
    FROM Invoice AS i;
  4. SELECT Inventory.inventory_name, Vendor.company_name, Invoice.emp_received_id, Invoice.invoice_receipt_date
    FROM (Inventory INNER JOIN Vendor ON inventory.preferred_vendor=vendor.vendor_id)
    INNER JOIN Invoice ON Vendor.Vendor_id=Invoice.vendor_id;
  1. SELECT Orders.order_id, Employee.first_name, Employee.last_name
    From Orders
    Inner Join Employee on Orders.emp_order_creation_id=Employee.employee_id
  2. SELECT Vendor.company_name, Inventory.inventory_name, Inventory.std_order_qty
    From Vendor
    Inner Join Inventory on Vendor.vendor_id=Inventory.preferred_vendor
  3. SELECT Invoice.order_id, Invoice.payable_amount
    From Invoice
  4. SELECT Inventory.inventory_name, Vendor.company_name, Invoice.emp_received_id, Invoice.invoice_receipt_date
    FROM (Inventory
    Inner JOIN Vendor
    ON
    Inventory.preferred_vendor = Vendor.vendor_id)
    Inner JOIN Invoice
    ON
    Vendor.vendor_id = Invoice.vendor_id

Rating: Intermediate
Comment: The parentheses for the double Inner Join on 4 were tricky

Time to Complete: 20 mins
Rating: Beginner
Solutions:

  1. SELECT o.order_id, e.first_name, e.last_name
    FROM Orders o
    INNER JOIN Employee e ON o.emp_order_creation_id = e.employee_id;

  2. SELECT v.company_name, i.inventory_name, i.std_order_qty
    FROM Vendor v
    INNER JOIN Inventory i ON v.vendor_id = i.preferred_vendor;

  3. SELECT order_id, payable_amount
    FROM Invoice

  4. SELECT Inventory.inventory_name, Vendor.company_name, Invoice.emp_received_id, Invoice.invoice_receipt_date
    FROM (Vendor INNER JOIN Inventory ON Vendor.vendor_id = Inventory.preferred_vendor)
    INNER JOIN Invoice ON Vendor.vendor_id = Invoice.vendor_id;

Time to complete: 30 minutes
Difficulty: Intermediate
Solution:

  1. SELECT o.order_id, e.first_name, e.last_name FROM Orders AS o INNER JOIN Employee AS e ON o.emp_order_creation_id = e.employee_id;
  2. SELECT v.company_name, i.inventory_name, i.std_order_qty FROM Vendor AS v INNER JOIN Inventory AS i ON v.vendor_id = i.preferred_vendor;
  3. SELECT order_id, payable_amount FROM Invoice;
  4. SELECT inven.inventory_name, v.company_name, invoi.emp_received_id, invoi.invoice_receipt_date FROM (Inventory AS inven INNER JOIN Vendor AS v ON inven.preferred_vendor = v.vendor_id) INNER JOIN Invoice AS invoi ON v.vendor_id = invoi.vendor_id;