Database System

Tugas UTS


Kontak \(\downarrow\)
Email
Instagram https://www.instagram.com/dhelaagatha/
RPubs https://rpubs.com/dhelaasafiani/
Nama dhela asafiani agatha
NIM 20214920009

library(RMySQL)
library(DBI)
Customers <- read.csv("Customers.csv")
Categories <- read.csv("Categories.csv")
Employees <- read.csv("Employees.csv")
OrderDetails <- read.csv("OrderDetails.csv")
Orders <- read.csv("Orders.csv")
Products <- read.csv("Products.csv")
Shippers <- read.csv("Shippers.csv")
Suppliers <- read.csv("Suppliers.csv")
library(RMySQL)
## Warning: package 'RMySQL' was built under R version 4.1.3
## Loading required package: DBI
## Warning: package 'DBI' was built under R version 4.1.3
library(DBI)
dhela <- dbConnect(RMySQL::MySQL(),
                   dbname='new_mariadb',
                   username='root',
                   password='',
                   host='localhost',
                   port=3306)
knitr::opts_chunk$set(connection = "dhela")  #set up the connection
#dbWriteTable(dhela, "Customers", Customers, append=T)
#dbWriteTable(dhela, "Categories", Categories, append=T)
#dbWriteTable(dhela, "Employees", Employees, append=T)
#dbWriteTable(dhela, "OrderDetails", OrderDetails, append=T)
#dbWriteTable(dhela, "Orders", Orders, append=T)
#dbWriteTable(dhela, "Products", Products, append=T)
#dbWriteTable(dhela, "Shippers", Shippers, append=T)
#dbWriteTable(dhela, "Suppliers", Suppliers, append=T

1. Select Some attributes of suppliers in alphabetical order!

SELECT SupplierName, ContactName, Address, Country, City
FROM suppliers
ORDER BY SupplierName
Displaying records 1 - 10
SupplierName ContactName Address Country City
Aux joyeux ecclésiastiques Guylène Nodier 203, Rue des Francs-Bourgeois France Paris
Aux joyeux ecclésiastiques Guylène Nodier 203, Rue des Francs-Bourgeois France Paris
Bigfoot Breweries Cheryl Saylor 3400 - 8th Avenue Suite 210 USA Bend
Bigfoot Breweries Cheryl Saylor 3400 - 8th Avenue Suite 210 USA Bend
Cooperativa de Quesos ‘Las Cabras’ Antonio del Valle Saavedra Calle del Rosal 4 Spain Oviedo
Cooperativa de Quesos ‘Las Cabras’ Antonio del Valle Saavedra Calle del Rosal 4 Spain Oviedo
Escargots Nouveaux Marie Delamare 22, rue H. Voiron France Montceau
Escargots Nouveaux Marie Delamare 22, rue H. Voiron France Montceau
Exotic Liquid Charlotte Cooper 49 Gilbert St. UK Londona
Exotic Liquid Charlotte Cooper 49 Gilbert St. UK Londona

2. Some attributes of suppliers in reverse alphabetical order!

SELECT SupplierName, ContactName, Address, Country, City
FROM suppliers
ORDER BY SupplierName DESC
Displaying records 1 - 10
SupplierName ContactName Address Country City
Zaanse Snoepfabriek Dirk Luchte Verkoop Rijnweg 22 Netherlands Zaandam
Zaanse Snoepfabriek Dirk Luchte Verkoop Rijnweg 22 Netherlands Zaandam
Tokyo Traders Yoshi Nagase 9-8 Sekimai Musashino-shi Japan Tokyo
Tokyo Traders Yoshi Nagase 9-8 Sekimai Musashino-shi Japan Tokyo
Svensk Sjöföda AB Michael Björn Brovallavägen 231 Sweden Stockholm
Svensk Sjöföda AB Michael Björn Brovallavägen 231 Sweden Stockholm
Specialty Biscuits, Ltd. Peter Wilson 29 King’s Way UK Manchester
Specialty Biscuits, Ltd. Peter Wilson 29 King’s Way UK Manchester
Refrescos Americanas LTDA Carlos Diaz Av. das Americanas 12.890 Brazil São Paulo
Refrescos Americanas LTDA Carlos Diaz Av. das Americanas 12.890 Brazil São Paulo

3. Some attributes of suppliers ordered by country, then by city!

SELECT SupplierName, ContactName, Address, Country, City
FROM suppliers
ORDER BY Country, City
Displaying records 1 - 10
SupplierName ContactName Address Country City
Pavlova, Ltd. Ian Devling 74 Rose St. Moonie Ponds Australia Melbourne
Pavlova, Ltd. Ian Devling 74 Rose St. Moonie Ponds Australia Melbourne
G’day, Mate Wendy Mackenzie 170 Prince Edward Parade Hunter’s Hill Australia Sydney
G’day, Mate Wendy Mackenzie 170 Prince Edward Parade Hunter’s Hill Australia Sydney
Refrescos Americanas LTDA Carlos Diaz Av. das Americanas 12.890 Brazil São Paulo
Refrescos Americanas LTDA Carlos Diaz Av. das Americanas 12.890 Brazil São Paulo
Ma Maison Jean-Guy Lauzon 2960 Rue St. Laurent Canada Montréal
Ma Maison Jean-Guy Lauzon 2960 Rue St. Laurent Canada Montréal
Forêts d’érables Chantal Goulet 148 rue Chasseur Canada Ste-Hyacinthe
Forêts d’érables Chantal Goulet 148 rue Chasseur Canada Ste-Hyacinthe

4. All atributes of suppliers and reverse alphabetical ordered by country, then by city!

SELECT *
FROM suppliers
ORDER BY Country DESC, City DESC
Displaying records 1 - 10
SupplierID SupplierName ContactName Address City PostalCode Country Phone
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA (100) 555-4822
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA (100) 555-4822
19 New England Seafood Cannery Robb Merchant Order Processing Dept. 2100 Paul Revere Blvd. Boston 2134 USA (617) 555-3267
19 New England Seafood Cannery Robb Merchant Order Processing Dept. 2100 Paul Revere Blvd. Boston 2134 USA (617) 555-3267
16 Bigfoot Breweries Cheryl Saylor 3400 - 8th Avenue Suite 210 Bend 97101 USA (503) 555-9931
16 Bigfoot Breweries Cheryl Saylor 3400 - 8th Avenue Suite 210 Bend 97101 USA (503) 555-9931
3 Grandma Kelly’s Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA (313) 555-5735
3 Grandma Kelly’s Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA (313) 555-5735
8 Specialty Biscuits, Ltd. Peter Wilson 29 King’s Way Manchester M14 GSD UK (161) 555-4448
8 Specialty Biscuits, Ltd. Peter Wilson 29 King’s Way Manchester M14 GSD UK (161) 555-4448

5. All orders, sorted by total amount, the largest first!

SELECT o.*, od.Quantity
  FROM orders o
    JOIN orderdetails od
      ON o.OrderID = od.OrderID
        ORDER BY od.Quantity DESC;
Displaying records 1 - 10
OrderID CustomerID EmployeeID OrderDate ShipperID Quantity
10398 71 2 1996-12-30 3 120
10398 71 2 1996-12-30 3 120
10286 63 8 1996-08-21 3 100
10286 63 8 1996-08-21 3 100
10440 71 4 1997-02-10 2 90
10440 71 4 1997-02-10 2 90
10373 37 4 1996-12-05 3 80
10345 63 2 1996-11-04 2 80
10373 37 4 1996-12-05 3 80
10324 71 9 1996-10-08 1 80

6. Get all but the 10 most expensive products sorted by price!

SELECT *
FROM products
ORDER BY Price DESC
LIMIT 10
Displaying records 1 - 10
ProductID ProductName SupplierID CategoryID Unit Price
38 Côte de Blaye 18 1 12 - 75 cl bottles 263.50
38 Côte de Blaye 18 1 12 - 75 cl bottles 263.50
29 Thüringer Rostbratwurst 12 6 50 bags x 30 sausgs. 123.79
29 Thüringer Rostbratwurst 12 6 50 bags x 30 sausgs. 123.79
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97.00
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97.00
20 Sir Rodney’s Marmalade 8 3 30 gift boxes 81.00
20 Sir Rodney’s Marmalade 8 3 30 gift boxes 81.00
18 Carnarvon Tigers 7 8 16 kg pkg. 62.50
18 Carnarvon Tigers 7 8 16 kg pkg. 62.50

7. Get the 10th to 15th most expensive products sorted by price!

SELECT *
FROM products
ORDER BY Price DESC
LIMIT 6,9;
9 records
ProductID ProductName SupplierID CategoryID Unit Price
20 Sir Rodney’s Marmalade 8 3 30 gift boxes 81.0
20 Sir Rodney’s Marmalade 8 3 30 gift boxes 81.0
18 Carnarvon Tigers 7 8 16 kg pkg. 62.5
18 Carnarvon Tigers 7 8 16 kg pkg. 62.5
59 Raclette Courdavault 28 4 5 kg pkg. 55.0
59 Raclette Courdavault 28 4 5 kg pkg. 55.0
51 Manjimup Dried Apples 24 7 50 - 300 g pkgs. 53.0
51 Manjimup Dried Apples 24 7 50 - 300 g pkgs. 53.0
62 Tarte au sucre 29 3 48 pies 49.3

8. List all supplier countries in alphabetical order!

SELECT DISTINCT Country
FROM suppliers
ORDER BY Country
Displaying records 1 - 10
Country
Australia
Brazil
Canada
Denmark
Finland
France
Germany
Italy
Japan
Netherlands

9. Find the cheapest product and Expensive Orders!

9.1 Cheapest Product

SELECT ProductName, Unit, Price
FROM products
ORDER BY Price ASC
LIMIT 1
1 records
ProductName Unit Price
Geitost 500 g 2.5

9.2 Expensive Product

SELECT ProductName, Unit, Price
FROM products
ORDER BY Price DESC
LIMIT 1
1 records
ProductName Unit Price
Côte de Blaye 12 - 75 cl bottles 263.5

ini yg 9.2 gbs kluar hasil dh wkwk, tolong yyyyy

10. Find the number of Supplier USA!

SELECT *
FROM suppliers
WHERE Country='USA'
8 records
SupplierID SupplierName ContactName Address City PostalCode Country Phone
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA (100) 555-4822
3 Grandma Kelly’s Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA (313) 555-5735
16 Bigfoot Breweries Cheryl Saylor 3400 - 8th Avenue Suite 210 Bend 97101 USA (503) 555-9931
19 New England Seafood Cannery Robb Merchant Order Processing Dept. 2100 Paul Revere Blvd. Boston 2134 USA (617) 555-3267
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA (100) 555-4822
3 Grandma Kelly’s Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA (313) 555-5735
16 Bigfoot Breweries Cheryl Saylor 3400 - 8th Avenue Suite 210 Bend 97101 USA (503) 555-9931
19 New England Seafood Cannery Robb Merchant Order Processing Dept. 2100 Paul Revere Blvd. Boston 2134 USA (617) 555-3267

11. Compute the total Quantity of orderitem!

SELECT SUM(Quantity)
FROM orderdetails
1 records
SUM(Quantity)
25486

12. Compute the average UnitPrice of all product!

SELECT AVG(Price)
FROM products
1 records
AVG(Price)
28.86636

13. Get all information about customer named Thomas Hardy!

SELECT *
FROM customers
WHERE ContactName='Thomas Hardy'
2 records
CustomerID CustomerName ContactName Address City PostalCode Country
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK

14. List all customers from Spain or France!

SELECT *
FROM customers
WHERE Country='Spain' OR Country='France'
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
7 Blondel père et fils Frédérique Citeaux 24, place Kléber Strasbourg 67000 France
8 Bólido Comidas preparadas Martín Sommer C/ Araquil, 67 Madrid 28023 Spain
9 Bon app’ Laurence Lebihans 12, rue des Bouchers Marseille 13008 France
18 Du monde entier Janine Labrune 67, rue des Cinquante Otages Nantes 44000 France
22 FISSA Fabrica Inter. Salchichas S.A. Diego Roel C/ Moralzarzal, 86 Madrid 28034 Spain
23 Folies gourmandes Martine Rancé 184, chaussée de Tournai Lille 59000 France
26 France restauration Carine Schmitt 54, rue Royale Nantes 44000 France
29 Galería del gastrónomo Eduardo Saavedra Rambla de Cataluña, 23 Barcelona 8022 Spain
30 Godos Cocina Típica José Pedro Freyre C/ Romero, 33 Sevilla 41101 Spain
40 La corne d’abondance Daniel Tonini 67, avenue de l’Europe Versailles 78000 France

15. List all customers that are not from the USA!

SELECT *
FROM customers
WHERE Country!='USA'
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Agatha Obere Str. 57 Mexico 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 5021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 5023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden
6 Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 68306 Germany
7 Blondel père et fils Frédérique Citeaux 24, place Kléber Strasbourg 67000 France
8 Bólido Comidas preparadas Martín Sommer C/ Araquil, 67 Madrid 28023 Spain
9 Bon app’ Laurence Lebihans 12, rue des Bouchers Marseille 13008 France
10 Bottom-Dollar Marketse Elizabeth Lincoln 23 Tsawassen Blvd. Tsawassen T2F 8M4 Canada

16. List all orders that not between $50 and $15000!

SELECT o.OrderDate, p.ProductID, p.ProductName, p.Price
FROM orders o
JOIN orderdetails od
ON o.OrderID = od.OrderID
JOIN products p
ON od.ProductID = p.ProductID
WHERE Price NOT BETWEEN 50 AND 15000
Displaying records 1 - 10
OrderDate ProductID ProductName Price
1996-07-04 11 Queso Cabrales 21.00
1996-07-04 11 Queso Cabrales 21.00
1996-07-04 42 Singaporean Hokkien Fried Mee 14.00
1996-07-04 42 Singaporean Hokkien Fried Mee 14.00
1996-07-04 72 Mozzarella di Giovanni 34.80
1996-07-04 72 Mozzarella di Giovanni 34.80
1996-07-05 14 Tofu 23.25
1996-07-05 14 Tofu 23.25
1996-07-08 41 Jack’s New England Clam Chowder 9.65
1996-07-08 41 Jack’s New England Clam Chowder 9.65

17. List all products between $10 and $20

SELECT *
FROM products
WHERE Price BETWEEN 10 AND 20
ORDER BY Price
Displaying records 1 - 10
ProductID ProductName SupplierID CategoryID Unit Price
21 Sir Rodney’s Scones 8 3 24 pkgs. x 4 pieces 10.0
21 Sir Rodney’s Scones 8 3 24 pkgs. x 4 pieces 10.0
74 Longlife Tofu 4 7 5 kg pkg. 10.0
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10.0
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10.0
74 Longlife Tofu 4 7 5 kg pkg. 10.0
46 Spegesild 21 8 4 - 450 g glasses 12.0
46 Spegesild 21 8 4 - 450 g glasses 12.0
68 Scottish Longbreads 8 3 10 boxes x 8 pieces 12.5
31 Gorgonzola Telino 14 4 12 - 100 g pkgs 12.5

18. List all products not between $10 and $100 sorted by price!

SELECT *
FROM products
WHERE Price NOT BETWEEN 10 AND 20
ORDER BY Price
Displaying records 1 - 10
ProductID ProductName SupplierID CategoryID Unit Price
33 Geitost 15 4 500 g 2.50
33 Geitost 15 4 500 g 2.50
24 Guaraná Fantástica 10 1 12 - 355 ml cans 4.50
24 Guaraná Fantástica 10 1 12 - 355 ml cans 4.50
13 Konbu 6 8 2 kg box 6.00
13 Konbu 6 8 2 kg box 6.00
52 Filo Mix 24 5 16 - 2 kg boxes 7.00
52 Filo Mix 24 5 16 - 2 kg boxes 7.00
54 Tourtière 25 6 16 pies 7.45
54 Tourtière 25 6 16 pies 7.45

19. Get the list of orders and amount sold between 1996 Jan 01 and 1996 Des 31!

SELECT *
FROM orders
WHERE OrderDate BETWEEN '1996-01-01' AND '1996-12-31';
Displaying records 1 - 10
OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2
10251 84 3 1996-07-08 1
10252 76 4 1996-07-09 2
10253 34 3 1996-07-10 2
10254 14 5 1996-07-11 2
10255 68 9 1996-07-12 3
10256 88 3 1996-07-15 2
10257 35 4 1996-07-16 3

20. List all suppliers from the USA, UK, OR Japan!

SELECT *
FROM suppliers
WHERE Country='USA' OR Country='UK' OR Country='Japan'
Displaying records 1 - 10
SupplierID SupplierName ContactName Address City PostalCode Country Phone
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. Londona EC1 4SD UK (171) 555-2222
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA (100) 555-4822
3 Grandma Kelly’s Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA (313) 555-5735
4 Tokyo Traders Yoshi Nagase 9-8 Sekimai Musashino-shi Tokyo 100 Japan (03) 3555-5011
6 Mayumi’s Mayumi Ohno 92 Setsuko Chuo-ku Osaka 545 Japan (06) 431-7877
8 Specialty Biscuits, Ltd. Peter Wilson 29 King’s Way Manchester M14 GSD UK (161) 555-4448
16 Bigfoot Breweries Cheryl Saylor 3400 - 8th Avenue Suite 210 Bend 97101 USA (503) 555-9931
19 New England Seafood Cannery Robb Merchant Order Processing Dept. 2100 Paul Revere Blvd. Boston 2134 USA (617) 555-3267
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. Londona EC1 4SD UK (171) 555-2222
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA (100) 555-4822

21. List all products that are not exactly $10, $20, $30, $40, or $50!

SELECT *
FROM products
WHERE Price NOT IN(10,20,30,40,50)
Displaying records 1 - 10
ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18.00
2 Chang 1 1 24 - 12 oz bottles 19.00
4 Chef Anton’s Cajun Seasoning 2 2 48 - 6 oz jars 22.00
5 Chef Anton’s Gumbo Mix 2 2 36 boxes 21.35
6 Grandma’s Boysenberry Spread 3 2 12 - 8 oz jars 25.00
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97.00
10 Ikura 4 8 12 - 200 ml jars 31.00
11 Queso Cabrales 5 4 1 kg pkg. 21.00
12 Queso Manchego La Pastora 5 4 10 - 500 g pkgs. 38.00
13 Konbu 6 8 2 kg box 6.00

22. List all customers that are from the same countries as the suppliers!

SELECT c.CustomerName, s.SupplierName, c.Country, s.Country
FROM customers c
JOIN orders o
ON c.CustomerID = o.CustomerID
JOIN orderdetails od
ON o.OrderID = od.OrderID
JOIN products p
ON od.ProductID = p.ProductID
JOIN suppliers s
ON p.SupplierID = s.SupplierID
WHERE c.Country = s.Country
Displaying records 1 - 10
CustomerName SupplierName Country Country
Old World Delicatessen New England Seafood Cannery USA USA
Old World Delicatessen New England Seafood Cannery USA USA
Old World Delicatessen New England Seafood Cannery USA USA
Old World Delicatessen New England Seafood Cannery USA USA
Old World Delicatessen New England Seafood Cannery USA USA
Old World Delicatessen New England Seafood Cannery USA USA
Old World Delicatessen New England Seafood Cannery USA USA
Old World Delicatessen New England Seafood Cannery USA USA
Rattlesnake Canyon Grocery New Orleans Cajun Delights USA USA
Rattlesnake Canyon Grocery New Orleans Cajun Delights USA USA

23. List all products that start with ‘Cha’ or ‘Chan’ and have one more character!

SELECT *
FROM products
WHERE ProductName LIKE 'Cha_' OR ProductName LIKE 'Chan_'
2 records
ProductID ProductName SupplierID CategoryID Unit Price
2 Chang 1 1 24 - 12 oz bottles 19
2 Chang 1 1 24 - 12 oz bottles 19

24. List all suppliers that do have a fax number!

Tidak ada kolom nomor Fax, maka dianggap para pembeli tidak mempunyai nomor Fax.

25. List all customer with average orders between $1000 and $1200 !

SELECT CustomerName, AVG(TotalAmount) AverageOrders
FROM 
(
SELECT CustomerName, SUM(od.Quantity * p.Price) TotalAmount
FROM customers c
JOIN orders o
ON c.CustomerID = o.CustomerID
JOIN orderdetails od
ON o.OrderID = od.OrderID
JOIN products p
ON od.ProductID = p.ProductID
GROUP BY od.OrderID
) A
GROUP BY CustomerName
HAVING AverageOrders
BETWEEN 1000 AND 1200
ORDER BY AverageOrders
1 records
CustomerName AverageOrders
Centro comercial Moctezuma 1008

26. List total customers in each country.

SELECT Country, COUNT(CustomerName) TotalCustomer
FROM customers
GROUP BY Country
Displaying records 1 - 10
Country TotalCustomer
Argentina 6
Austria 4
Belgium 4
Brazil 18
Canada 6
Denmark 4
Finland 4
France 22
Germany 22
Indonesia 1

27. Display results with easy to understand column headers.

28. List all orders with customer information!

SELECT DISTINCT O.OrderID, C.*
  FROM Orders O
    INNER JOIN customers C
      ON O.CustomerID = C.CustomerID
      ORDER BY O.OrderID ASC;
Displaying records 1 - 10
OrderID CustomerID CustomerName ContactName Address City PostalCode Country
10248 90 Wilman Kala Matti Karttunen Keskuskatu 45 Helsinki 21240 Finland
10249 81 Tradição Hipermercados Anabela Domingues Av. Inês de Castro, 414 São Paulo 05634-030 Brazil
10250 34 Hanari Carnes Mario Pontes Rua do Paço, 67 Rio de Janeiro 05454-876 Brazil
10251 84 Victuailles en stock Mary Saveley 2, rue du Commerce Lyon 69004 France
10252 76 Suprêmes délices Pascale Cartrain Boulevard Tirou, 255 Charleroi B-6000 Belgium
10253 34 Hanari Carnes Mario Pontes Rua do Paço, 67 Rio de Janeiro 05454-876 Brazil
10254 14 Chop-suey Chinese Yang Wang Hauptstr. 29 Bern 3012 Switzerland
10255 68 Richter Supermarkt Michael Holz Grenzacherweg 237 Genève 1203 Switzerland
10256 88 Wellington Importadora Paula Parente Rua do Mercado, 12 Resende 08737-363 Brazil
10257 35 HILARIÓN-Abastos Carlos Hernández Carrera 22 con Ave. Carlos Soublette #8-35 San Cristóbal 5022 Venezuela

29. List all orders with product names, quantities, and prices!

SELECT DISTINCT O.OrderID, P.ProductName, OD.Quantity, P.Price
  FROM Orders O
    INNER JOIN orderdetails OD
            ON OD.OrderID = OD.OrderID
    INNER JOIN products P
            ON OD.ProductID = P.ProductID
      ORDER BY O.OrderID ASC;
Displaying records 1 - 10
OrderID ProductName Quantity Price
10248 Ipoh Coffee 25 46.00
10248 Camembert Pierrot 55 34.00
10248 Rössle Sauerkraut 20 45.60
10248 Camembert Pierrot 35 34.00
10248 Rössle Sauerkraut 4 45.60
10248 Camembert Pierrot 70 34.00
10248 Pavlova 35 17.45
10248 Fløtemysost 3 21.50
10248 Tarte au sucre 28 49.30
10248 Perth Pasties 70 32.80

30. This will list all customers, whether they placed any order or not!

SELECT C.CustomerID, C.CustomerName, C.ContactName, O.OrderID
  FROM customers C
    LEFT JOIN orders O
      ON C.CustomerID = O.CustomerID
    ORDER BY C.CustomerID ASC;
Displaying records 1 - 10
CustomerID CustomerName ContactName OrderID
NA Diyas Arya NA
1 Alfreds Futterkiste Agatha NA
1 Alfreds Futterkiste Agatha NA
2 Ana Trujillo Emparedados y helados Ana Trujillo 10308
2 Ana Trujillo Emparedados y helados Ana Trujillo 10308
3 Antonio Moreno Taquería Antonio Moreno 10365
3 Antonio Moreno Taquería Antonio Moreno 10365
4 Around the Horn Thomas Hardy 10355
4 Around the Horn Thomas Hardy 10355
4 Around the Horn Thomas Hardy 10383

31. List customers that have not placed orders!

SELECT C.*
  FROM customers C
    WHERE C.CustomerID NOT IN ( SELECT O.CustomerID
                                FROM orders O )
      ORDER BY C.CustomerID ASC;
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Agatha Obere Str. 57 Mexico 12209 Germany
1 Alfreds Futterkiste Agatha Obere Str. 57 Mexico 12209 Germany
6 Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 68306 Germany
6 Blauer See Delikatessen Hanna Moos Forsterstr. 57 Mannheim 68306 Germany
12 Cactus Comidas para llevar Patricio Simpson Cerrito 333 Buenos Aires 1010 Argentina
12 Cactus Comidas para llevar Patricio Simpson Cerrito 333 Buenos Aires 1010 Argentina
22 FISSA Fabrica Inter. Salchichas S.A. Diego Roel C/ Moralzarzal, 86 Madrid 28034 Spain
22 FISSA Fabrica Inter. Salchichas S.A. Diego Roel C/ Moralzarzal, 86 Madrid 28034 Spain
26 France restauration Carine Schmitt 54, rue Royale Nantes 44000 France
26 France restauration Carine Schmitt 54, rue Royale Nantes 44000 France

32. List all contacts, i.e., suppliers and customers!

SELECT S.ContactName, 'Supplier' Type
  FROM suppliers S
    UNION ALL
      SELECT C.ContactName, 'Customer' Type
        FROM customers C
  ORDER BY ContactName ASC;
Displaying records 1 - 10
ContactName Type
Agatha Customer
Agatha Customer
Alejandra Camino Customer
Alejandra Camino Customer
Alexander Feuer Customer
Alexander Feuer Customer
Ana Trujillo Customer
Ana Trujillo Customer
Anabela Domingues Customer
Anabela Domingues Customer

33. List products with order quantities greater than 80!

SELECT P.ProductID, P.ProductName, SUM(OD.Quantity) AS 'Quantity'
  FROM Products P
    INNER JOIN OrderDetails OD
          ON P.ProductID = OD.ProductID
    GROUP BY P.ProductID
    HAVING SUM(OD.Quantity) > 80
ORDER BY P.ProductID
Displaying records 1 - 10
ProductID ProductName Quantity
1 Chais 636
2 Chang 1364
3 Aniseed Syrup 320
4 Chef Anton’s Cajun Seasoning 428
5 Chef Anton’s Gumbo Mix 516
6 Grandma’s Boysenberry Spread 144
7 Uncle Bob’s Organic Dried Pears 100
8 Northwoods Cranberry Sauce 560
10 Ikura 340
11 Queso Cabrales 728

34. Which products were sold by the unit (i.e. quantity =1)?

SELECT P.ProductID, P.ProductName, OD.Quantity
  FROM Products P
    INNER JOIN OrderDetails OD
          ON P.ProductID = OD.ProductID
    WHERE OD.Quantity = 1
ORDER BY P.ProductID
Displaying records 1 - 10
ProductID ProductName Quantity
19 Teatime Chocolate Biscuits 1
19 Teatime Chocolate Biscuits 1
19 Teatime Chocolate Biscuits 1
19 Teatime Chocolate Biscuits 1
37 Gravad lax 1
37 Gravad lax 1
37 Gravad lax 1
37 Gravad lax 1
69 Gudbrandsdalsost 1
69 Gudbrandsdalsost 1

35. List customers who placed orders that are larger than the average of each customer order!

SELECT C.CustomerID, C.CustomerName, OD.Quantity*P.Price as 'TotalAmount'
  FROM customers C
    JOIN orders O
      ON C.CustomerID = O.CustomerID
    JOIN orderdetails OD
      ON O.OrderID = OD.OrderID
    JOIN products P
      ON OD.ProductID = P.ProductID
  WHERE OD.Quantity*P.Price > ALL (
                                    SELECT AVG(OD.Quantity*P.Price)
                                      FROM customers C
                                        JOIN orders O
                                          ON C.CustomerID = O.CustomerID 
                                        JOIN orderdetails OD
                                          ON O.OrderID = OD.OrderID
                                        JOIN products P
                                          ON OD.ProductID = P.ProductID
                                      GROUP BY c.CustomerID
                                    )
Displaying records 1 - 10
CustomerID CustomerName TotalAmount
20 Ernst Handel 5270.00
20 Ernst Handel 5270.00
7 Blondel père et fils 4332.65
7 Blondel père et fils 4332.65
51 Mère Paillarde 12911.50
51 Mère Paillarde 12911.50
20 Ernst Handel 5270.00
20 Ernst Handel 5270.00
7 Blondel père et fils 4332.65
7 Blondel père et fils 4332.65

36. Find best-selling products based on quantity!

SELECT P.ProductID, P.ProductName, P.Price, SUM(OD.Quantity) AS 'Quantity'
  FROM Products P
    JOIN Orderdetails OD
ON P.ProductID=OD.ProductID
GROUP BY ProductName
ORDER BY Quantity DESC
LIMIT 1;
1 records
ProductID ProductName Price Quantity
31 Gorgonzola Telino 12.5 1832

37. Find best-selling products based on revenue!

SELECT P.ProductName, P.Price, OD.Quantity, SUM(P.Price*OD.Quantity) AS Revenue
  FROM Products P
    JOIN Orderdetails OD
      ON P.ProductID=OD. ProductID
        GROUP BY ProductName
          ORDER BY Revenue DESC
            LIMIT 1;
1 records
ProductName Price Quantity Revenue
Côte de Blaye 263.5 20 251906

38. Find best-selling products based on revenue for each country!

SELECT Country, ProductName, MAX(Revenue) AS 'Revenue' 
FROM(SELECT P.ProductName, C.Country, SUM(OD.Quantity*P.Price) AS 'Revenue' 
  FROM products P
    JOIN orderdetails OD
      ON P.ProductID = OD.ProductID
    JOIN orders O
      ON OD.OrderID = O.OrderID
    JOIN customers C
      ON O. CustomerID = C.CustomerID
    GROUP BY C. Country, P.ProductName
    ORDER BY Country ASC, Revenue DESC) S
    GROUP BY Country
Displaying records 1 - 10
Country ProductName Revenue
Argentina Tofu 2232.0
Austria Côte de Blaye 147560.0
Belgium Sir Rodney’s Marmalade 25920.0
Brazil Côte de Blaye 84320.0
Canada Côte de Blaye 103292.0
Denmark Côte de Blaye 105400.0
Finland Fløtemysost 12040.0
France Thüringer Rostbratwurst 34661.2
Germany Raclette Courdavault 30800.0
Ireland Manjimup Dried Apples 20352.0

39. Find suppliers with a product price of less than $50!

SELECT S.SupplierName, P.Price
  FROM suppliers S
    JOIN products P
      ON S.SupplierID = P.SupplierID
  WHERE P.Price < 50
  GROUP BY S.SupplierName
  ORDER BY S.SupplierName
Displaying records 1 - 10
SupplierName Price
Aux joyeux ecclésiastiques 18.00
Bigfoot Breweries 14.00
Cooperativa de Quesos ‘Las Cabras’ 21.00
Escargots Nouveaux 13.25
Exotic Liquid 18.00
Forêts d’érables 28.50
Formaggi Fortini s.r.l. 12.50
G’day, Mate 7.00
Gai pâturage 34.00
Grandma Kelly’s Homestead 25.00

40. Find the top 10 best employees based on their sales quantity!

SELECT CONCAT (FirstName,' ',LastName)AS 'Name', sum(Quantity) AS 'Quantity'
  FROM employees E
    LEFT JOIN orders O
          ON E.EmployeeID = O.EmployeeID
    LEFT JOIN orderdetails OD
          ON O.OrderID = OD.OrderID
  GROUP BY E.EmployeeID
    ORDER BY Quantity DESC
      LIMIT 10;
Displaying records 1 - 10
Name Quantity
Margaret Peacock 12928
Nancy Davolio 7696
Janet Leverling 6900
Andrew Fuller 5260
Laura Callahan 5172
Michael Suyama 4376
Steven Buchanan 3112
Robert King 2932
Anne Dodsworth 2596
Adam West NA

41. Find the top 10 best supplier countries based on quantity!

SELECT S.Country, sum(Quantity) AS 'Quantity'
  FROM suppliers S
    LEFT JOIN products P
          ON S.SupplierID = P.SupplierID
    LEFT JOIN orderdetails OD
          ON OD.ProductID = P.ProductID
  GROUP BY S.Country
    ORDER BY Quantity DESC
      LIMIT 10;
Displaying records 1 - 10
Country Quantity
Australia 12880
USA 12648
France 11488
Germany 10712
Italy 9736
UK 9704
Canada 7592
Norway 6688
Japan 4480
Sweden 3720

42. Find the top 10 best customer countries based on quantity!

SELECT C.Country, sum(Quantity) AS 'Quantity'
  FROM customers C
    LEFT JOIN orders O
          ON C.CustomerID = O.CustomerID
    LEFT JOIN orderdetails OD
          ON O.OrderID = OD.OrderID
  GROUP BY C.Country
    ORDER BY Quantity DESC
      LIMIT 10;
Displaying records 1 - 10
Country Quantity
USA 8556
Germany 8060
Austria 6260
Brazil 4468
France 3556
Canada 3088
UK 2792
Ireland 2260
Venezuela 1968
Sweden 1596

43. Find the top 10 best-selling products based on quantity every year!

(SELECT P.ProductName, YEAR(O.OrderDate) AS 'Year', sum(OD.Quantity) AS 'Quantity'
  FROM products P
    JOIN orderdetails OD
      ON P.ProductID = OD.ProductID
    JOIN orders O
      ON OD.OrderID = O.OrderID
       GROUP BY Year, ProductName
        HAVING Year = 1996
         ORDER BY Year, Quantity DESC
          LIMIT 10)
UNION
  (SELECT P.ProductName, YEAR(O.OrderDate) AS 'Year', sum(OD.Quantity) AS 'Quantity'
    FROM products P
     JOIN orderdetails OD
      ON P.ProductID = OD.ProductID
    JOIN orders O
      ON OD.OrderID = O.OrderID
  GROUP BY Year, ProductName
  HAVING Year = 1997
  ORDER BY Year, Quantity DESC
  LIMIT 10)
Displaying records 1 - 10
ProductName Year Quantity
Gorgonzola Telino 1996 1776
Camembert Pierrot 1996 1480
Steeleye Stout 1996 1096
Chartreuse verte 1996 1064
Fløtemysost 1996 1044
Mozzarella di Giovanni 1996 1040
Pavlova 1996 1008
Tarte au sucre 1996 1000
Alice Mutton 1996 936
Raclette Courdavault 1996 924

44. Measure the average order of product names from each country and order it from max to min.

SELECT Country, ProductName, AVG(quantity) AS 'quantity' 
FROM(SELECT P.ProductName, C.Country, AVG(OD.Quantity) AS 'quantity' 
  FROM products P
    JOIN orderdetails OD
      ON P.ProductID = OD.ProductID
    JOIN orders O
      ON OD.OrderID = O.OrderID
    JOIN customers C
      ON O. CustomerID = C.CustomerID
    GROUP BY C. Country, P.ProductName
   ) S
    GROUP BY Country
    Order BY quantity ASC
Displaying records 1 - 10
Country ProductName quantity
Mexico Alice Mutton 11.45000
Norway Fløtemysost 12.00000
Argentina Sir Rodney’s Scones 12.00000
Spain Boston Crab Meat 13.76667
Finland Fløtemysost 17.20833
Italy Guaraná Fantástica 17.59091
Portugal Chef Anton’s Cajun Seasoning 18.11111
France Alice Mutton 20.53571
Sweden Camembert Pierrot 21.31250
Brazil Boston Crab Meat 21.72072

45. Compare the average order of product names from each country in the year 1996 vs 1997 ordering from max to min.

(SELECT P.ProductName, C.Country, YEAR(O.OrderDate) AS 'Year', AVG(OD.Quantity*P.Price) AS 'Revenue'
  FROM products P
    JOIN orderdetails OD
      ON P.ProductID = OD.ProductID
    JOIN orders O
      ON OD.OrderID = O.OrderID
      JOIN customers C
      ON O.CustomerID = C.CustomerID
       GROUP BY Country, Year
        HAVING Year = 1996
         ORDER BY Year, Quantity DESC
          LIMIT 16)
UNION

(SELECT P.ProductName, C.Country, YEAR(O.OrderDate) AS 'Year', AVG(OD.Quantity*P.Price) AS 'Revenue'
  FROM products P
    JOIN orderdetails OD
      ON P.ProductID = OD.ProductID
    JOIN orders O
      ON OD.OrderID = O.OrderID
      JOIN customers C
      ON O.CustomerID = C.CustomerID
       GROUP BY Country, Year
        HAVING Year = 1997
         ORDER BY Year, Quantity DESC
          LIMIT 16)
          ORDER BY Revenue, Year
Displaying records 1 - 10
ProductName Country Year Revenue
Tofu Argentina 1997 199.5000
Guaraná Fantástica Italy 1996 209.3333
Queso Cabrales Sweden 1997 225.0000
Gorgonzola Telino Poland 1996 286.8750
Sir Rodney’s Scones Mexico 1996 293.0780
Guaraná Fantástica Norway 1996 330.9000
Tofu Finland 1997 371.8000
Raclette Courdavault Portugal 1996 388.2500
Gumbär Gummibärchen Italy 1997 438.9371
Queso Cabrales Germany 1997 447.1500