Database System

Tugas 3


Kontak \(\downarrow\)
Email
Instagram https://www.instagram.com/nbrigittag/
RPubs https://rpubs.com/naftalibrigitta/
Nama Naftali Brigitta Gunawan
NIM 20214920002

Introduction

# set up the connection and save it into the workspace
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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)
naftali <- dbConnect(RMySQL::MySQL(),
                   dbname='new_mariadb',
                   username='root',
                   password='',
                   host='localhost',
                   port=3306)
knitr::opts_chunk$set(connection = "naftali")  #set up the connection

Select

SELECT CustomerName, Address, City, Country
  FROM customers;
Displaying records 1 - 10
CustomerName Address City Country
Alfreds Futterkiste Obere Str. 57 Mexico Germany
Ana Trujillo Emparedados y helados Avda. de la Constitución 2222 México D.F. Mexico
Antonio Moreno Taquería Mataderos 2312 México D.F. Mexico
Around the Horn 120 Hanover Sq. London UK
Berglunds snabbköp Berguvsvägen 8 Luleå Sweden
Blauer See Delikatessen Forsterstr. 57 Mannheim Germany
Blondel père et fils 24, place Kléber Strasbourg France
Bólido Comidas preparadas C/ Araquil, 67 Madrid Spain
Bon app’ 12, rue des Bouchers Marseille France
Bottom-Dollar Marketse 23 Tsawassen Blvd. Tsawassen Canada
SELECT *
  FROM customers;
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Arya 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

Distinct

SELECT DISTINCT Country
  FROM customers;
Displaying records 1 - 10
Country
Germany
Mexico
UK
Sweden
France
Spain
Canada
Argentina
Switzerland
Brazil

Where

SELECT *
  FROM Customers
    WHERE Country='Mexico';
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
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
13 Centro comercial Moctezuma Francisco Chang Sierras de Granada 9993 México D.F. 5022 Mexico
58 Pericles Comidas clásicas Guillermo Fernández Calle Dr. Jorge Cash 321 México D.F. 5033 Mexico
80 Tortuga Restaurante Miguel Angel Paolino Avda. Azteca 123 México D.F. 5033 Mexico
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
13 Centro comercial Moctezuma Francisco Chang Sierras de Granada 9993 México D.F. 5022 Mexico
58 Pericles Comidas clásicas Guillermo Fernández Calle Dr. Jorge Cash 321 México D.F. 5033 Mexico
80 Tortuga Restaurante Miguel Angel Paolino Avda. Azteca 123 México D.F. 5033 Mexico

Between

SELECT *
  FROM Products
    WHERE Price
      BETWEEN 10 AND 20;
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
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10.00
15 Genen Shouyu 6 2 24 - 250 ml bottles 15.50
16 Pavlova 7 3 32 - 500 g boxes 17.45
21 Sir Rodney’s Scones 8 3 24 pkgs. x 4 pieces 10.00
25 NuNuCa Nuß-Nougat-Creme 11 3 20 - 450 g glasses 14.00
31 Gorgonzola Telino 14 4 12 - 100 g pkgs 12.50
34 Sasquatch Ale 16 1 24 - 12 oz bottles 14.00
35 Steeleye Stout 16 1 24 - 12 oz bottles 18.00
SELECT *
  FROM Orders
    WHERE OrderDate
      BETWEEN '1996-07-01' AND '1996-07-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

In

SELECT *
  FROM Customers
    WHERE Country
      IN ('Germany', 'France', 'UK');
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Arya Obere Str. 57 Mexico 12209 Germany
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
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
9 Bon app’ Laurence Lebihans 12, rue des Bouchers Marseille 13008 France
11 B’s Beverages Victoria Ashworth Fauntleroy Circus London EC2 5NT UK
16 Consolidated Holdings Elizabeth Brown Berkeley Gardens 12 Brewery London WX1 6LT UK
17 Drachenblut Delikatessend Sven Ottlieb Walserweg 21 Aachen 52066 Germany
18 Du monde entier Janine Labrune 67, rue des Cinquante Otages Nantes 44000 France
19 Eastern Connection Ann Devon 35 King George London WX3 6FW UK
SELECT *
  FROM Customers
    WHERE Country
      IN (SELECT Country FROM Suppliers);
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Arya Obere Str. 57 Mexico 12209 Germany
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
11 B’s Beverages Victoria Ashworth Fauntleroy Circus London EC2 5NT UK
15 Comércio Mineiro Pedro Afonso Av. dos Lusíadas, 23 São Paulo 05432-043 Brazil

Like

SELECT *
  FROM Customers
    WHERE CustomerName
      LIKE 'a%';
Displaying records 1 - 10
CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Arya 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
1 Alfreds Futterkiste Arya 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
1 Alfreds Futterkiste Arya 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

And Or and Not

SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');
7 records
CustomerID CustomerName ContactName Address City PostalCode Country
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');
7 records
CustomerID CustomerName ContactName Address City PostalCode Country
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany

Order By

SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München')
  ORDER BY Country, City;
7 records
CustomerID CustomerName ContactName Address City PostalCode Country
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany

Limit

SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München')
  ORDER BY Country, City
    LIMIT 3;
3 records
CustomerID CustomerName ContactName Address City PostalCode Country
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
25 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
SELECT CustomerName, Address, City, Country
  FROM customers
  ORDER BY City, Country DESC
    LIMIT 3, 5;
5 records
CustomerName Address City Country
Drachenblut Delikatessend Walserweg 21 Aachen Germany
Drachenblut Delikatessend Walserweg 21 Aachen Germany
Drachenblut Delikatessend Walserweg 21 Aachen Germany
Drachenblut Delikatessend Walserweg 21 Aachen Germany
Rattlesnake Canyon Grocery 2817 Milton Dr. Albuquerque USA

Min and Max

SELECT MIN(Price) AS SmallestPrice
  FROM Products;
1 records
SmallestPrice
2.5
SELECT MAX(Price) AS LargestPrice
  FROM Products;
1 records
LargestPrice
263.5

Count, SUM and AVG

SELECT AVG(Price)
  FROM Products;

Having

SELECT COUNT(CustomerID), Country
  FROM Customers
    GROUP BY Country
      HAVING COUNT(CustomerID) > 5
        ORDER BY COUNT(CustomerID) DESC;
Displaying records 1 - 10
COUNT(CustomerID) Country
91 USA
77 Germany
77 France
63 Brazil
49 UK
35 Mexico
35 Spain
28 Venezuela
21 Argentina
21 Italy

Case

SELECT OrderID, Quantity,
CASE
  WHEN Quantity > 30 THEN 'The quantity is greater than 30'
  WHEN Quantity = 30 THEN 'The quantity is 30'
  ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;
Displaying records 1 - 10
OrderID Quantity QuantityText
10248 12 The quantity is under 30
10248 10 The quantity is under 30
10248 5 The quantity is under 30
10249 9 The quantity is under 30
10249 40 The quantity is greater than 30
10250 10 The quantity is under 30
10250 35 The quantity is greater than 30
10250 15 The quantity is under 30
10251 6 The quantity is under 30
10251 15 The quantity is under 30
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);
Displaying records 1 - 10
CustomerName City Country
Drachenblut Delikatessend Aachen Germany
Drachenblut Delikatessend Aachen Germany
Drachenblut Delikatessend Aachen Germany
Drachenblut Delikatessend Aachen Germany
Drachenblut Delikatessend Aachen Germany
Drachenblut Delikatessend Aachen Germany
Drachenblut Delikatessend Aachen Germany
Rattlesnake Canyon Grocery Albuquerque USA
Rattlesnake Canyon Grocery Albuquerque USA
Rattlesnake Canyon Grocery Albuquerque USA