Liam Stark - SQL-frågor

Del 1: Skapa och hantera tabeller

1. Skapa en tabell (Departments) som lagrar information om företagets avdelningar. Tabellen ska ha kolumnerna:
    CREATE TABLE Departments(
	DepartmentID int NOT NULL PRIMARY KEY AUTO_INCREMENT,
	DepartmentName VARCHAR (50),
        Location VARCHAR (50)
    );
        
2. Lägg till tre avdelningar i tabellen Departments:
    INSERT INTO Departments ( DepartmentName,  Location)
    VALUES
    ('IT', 'Stockholm'),
    ('HR', 'Göteborg'),
    ('Finance', 'Malmö');
        

Del 2: Grundläggande urval

3. Visa alla kunder från tabellen Customers.
    SELECT CustomerName FROM Customers;
        
4. Visa alla produkter som kostar mer än 200 kr från tabellen Products.
    SELECT * FROM Products WHERE Price > 200;
        
5. Visa alla anställdas förnamn, efternamn och födelsedatum från tabellen Employees.
    SELECT FirstName, LastName, BirthDate FROM Employees;
        

Del 3: Filter och sortering

6. Visa alla beställningar från tabellen Orders som gjordes efter den 1 januari 1997.
    SELECT * FROM Orders
    WHERE OrderDate > '1997-01-01'
        
7. Visa kundnamn och stad för kunder som bor i "Rio de Janeiro" (Customers).
    SELECT DISTINCT City, CustomerName FROM Customers
    WHERE City = 'Rio de Janeiro'
        
8. Visa produktnamn och enhet för produkter som har "pies" i enhetsfältet (Products).
    SELECT ProductName, Unit FROM Products WHERE Unit LIKE '%pies%';
        
9. Visa de fem senaste beställningarna från Orders, sorterade efter datum (nyast först).
    SELECT * FROM Orders ORDER BY OrderDate DESC LIMIT 5;
        

Del 4: Uppdatera och radera data

10. Uppdatera telefonnumret till "1234567890" för fraktföretaget "Speedy Express" i tabellen Shippers.
    UPDATE Shippers
    SET Phone = 1234567890
    WHERE ShipperName = 'Speedy Express'
        
11. Uppdatera adressen för kund med ID 10 till "Main Street 456" i tabellen Customers.
    UPDATE Customers
    SET Address = 'Main Street 456'
    WHERE CustomerId = 10
        
12. Ta bort produkten med ID 60 från tabellen Products.
    DELETE FROM Products
    WHERE ProductId = 60
        
13. Ta bort alla kunder från "Germany" i tabellen Customers.
    DELETE FROM Customers 
    WHERE Country = 'Germany'
        

Del 5: Aggregering och funktioner

14. Visa det högsta priset bland alla produkter i Products.
    SELECT * FROM Products
    ORDER BY Price DESC
        
15. Visa det genomsnittliga priset för alla produkter i Products.
    SELECT AVG(Price)
    FROM Products
        

Del 6: Joins – koppla tabeller

16. Visa alla kunder och deras beställningar genom att koppla Customers och Orders.
    SELECT Orders.OrderID, Customers.CustomerName
    FROM Orders
    INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
        
17. Visa alla produkter tillsammans med deras kategorinamn (Products + Categories).
    SELECT Products.ProductName, Categories.CategoryName
    FROM Products
    INNER JOIN Categories ON Products.CategoryID = Categories.CategoryId;
        
18. Visa alla anställda tillsammans med deras avdelningsnamn och plats (Employees + Departments).
    SELECT Employees.FirstName, Departments.DepartmentName, Departments.Location
    FROM Employees
    INNER JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID
        
19. Visa alla beställningar med kundnamn, orderdatum och avdelningsnamn för den ansvariga anställda.

(Använd Orders, Customers, Employees och Departments.)

    SELECT Customers.CustomerName, Orders.OrderDate, Employees.FirstName, Departments.DepartmentName
    FROM Orders
    INNER JOIN Customers ON Orders.CustomerId = Customers.CustomerId
    INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
    INNER JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID
        

Del 7: Avancerade frågor

20. Visa alla produkter som kostar mer än det genomsnittliga priset.
    SELECT ProductName, Price
    FROM Products
    WHERE Price > (SELECT AVG(Price) FROM Products)
        
21. Visa alla anställda som har hanterat fler än 2 beställningar.
-- Skriv din SQL-kod här




        
22. Visa alla kunder från "USA" och deras 20 högsta beställningar (räknat som Quantity × Price).
-- Skriv din SQL-kod här




        
23. Visa alla anställda födda mellan 1950 och 1960.
-- Skriv din SQL-kod här




        
24. Visa hur många anställda som finns i varje avdelning (Departments + Employees).
-- Skriv din SQL-kod här




        

Del 8: VIEW och sammanfattning

25. Skapa en VIEW som heter CustomerSpending och visar:

Använd tabellerna Customers, Orders, OrderDetails och Products.

-- Skriv din SQL-kod här




        
26. Visa de fem mest sålda produkterna (efter total antal sålda enheter).
-- Skriv din SQL-kod här




        
27. Visa alla kunder från "USA" som har gjort en beställning under de senaste 6 månaderna.
-- Skriv din SQL-kod här




        
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDDDDDDDDDDDDDD

Del 1: Skapa och hantera tabeller

1. Skapa en tabell (Departments) som lagrar information om företagets avdelningar. Tabellen ska ha kolumnerna:


        

Del 2: Urval och filter

2. Skriv ut alla kunder från tabellen Customers.
           
        
3. Skriv ut alla produkter som kostar mer än 200 kr från tabellen Products.
           
        
4. Skriv ut alla anställdas för, efternamn och deras födelsedatum från tabellen Employees.
           
        
5. Skriv ut alla beställningar som gjorts efter den 1 januari 1997 från tabellen Orders.
           
        
6. Skriv ut CustomerName och stad som bor i staden "Rio de Janeiro" från tabellen Customers.
           
        
7. Skriv ut produktnamn och unit som har enhet i "pies" från tabellen Products.
           
        
8. Skriv ut de fem senaste beställningarna från tabellen Orders, sorterade efter datum.
           
        

Del 3: Lägga till data

9. Lägg till minst tre nya avdelningar i tabellen Departments med namn och plats.
           
        

Del 4: Uppdatering av data

10. Uppdatera telefonnumret (1234567890) för fraktföretaget "Speedy Express" i tabellen Shippers.
           
        
11. Uppdatera adressen för en kund 10 i tabellen Customers till "Main Street 456".
           
        

Del 5: Radering av data

12. Ta bort en produkt från tabellen Products baserat på produktens ID 60.
           
        
13. Ta bort alla kunder från tabellen Customers som bor i "Germany".
           
        

Del 6: Funktioner och aggregering

14. Skriv ut det högsta priset bland alla produkter i tabellen Products.
           
        
15. Skriv ut det genomsnittliga priset för alla produkter i tabellen Products.
           
        

Del 7: Joins och relationer

16. Använd tabellerna Customers och Orders för att visa alla kunder tillsammans med deras beställningar.
           
        
17. Använd tabellerna Products och Categories för att visa alla produkter tillsammans med deras kategori.
           
        
18. Skriv ut alla anställda från tabellen Employees tillsammans med de kunder de ansvarar för, baserat på beställningar i tabellerna Orders och Customers.

           
        
19. Skriv ut alla produkter från tabellen Products som har köpts av kunder i "Sweden". Använd tabellerna Products, OrderDetails, Orders och Customers.

           
        

Del 8: Skapa VIEW

20. Skapa en VIEW som visar kundnamn från tabellen Customers och det totala beloppet som varje kund har spenderat på produkter (beräknat som Quantity * Price).
           
        

Del 9: Extra uppgifter

21. Skriv ut alla produkter från tabellen Products som har ett pris som är högre än det genomsnittliga priset för alla produkter.

           
        
22. Skriv ut alla anställda från tabellen Employees som har hand om mer än två beställningar (kopplat till tabellen Orders).

           
        
23. Skriv ut alla kunder från tabellen Customers som kommer från “USA” och de 20 största beställningarna, baserat på ordervärde.

           
        
24. Skriv ut alla anställda från tabellen Employees som är födda mellan 1950 och 1960.

           
        
25. Skriv ut den genomsnittliga beställningssumman (beräknat som Quantity * Price) för varje kund baserat på tabellerna Customers, Orders och OrderDetails.

           
        
26. Skriv ut de fem mest sålda produkterna från tabellen Products, baserat på den totala mängden sålda enheter i tabellen OrderDetails.

           
        
27. Skriv ut alla kunder från tabellen Customers som kommer från "USA" och som har gjort en beställning under de senaste 6 månaderna.