Sistem Basis Data
| Kontak | : \(\downarrow\) |
| dhelaagatha@gmail.com | |
| https://www.instagram.com/dhelaagatha/ | |
| RPubs | https://rpubs.com/dhelaasafiani/ |
| NIM | 20214920009 |
Introduction
# set up the connection and save it into the workspace
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
library(RMySQL)
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 connectionSELECT
SELECT CustomerName, Address, City, Country
FROM customers;| 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;| 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;| Country |
|---|
| Germany |
| Mexico |
| UK |
| Sweden |
| France |
| Spain |
| Canada |
| Argentina |
| Switzerland |
| Brazil |
WHERE
SELECT *
FROM Customers
WHERE Country='Mexico';| 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;| 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';| 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');| 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);| 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%';| 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');| 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');| 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;| 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;| 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;| 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;| SmallestPrice |
|---|
| 2.5 |
SELECT MAX(Price) AS LargestPrice
FROM Products;| 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;| COUNT(CustomerID) | Country |
|---|---|
| 91 | USA |
| 77 | Germany |
| 77 | France |
| 63 | Brazil |
| 49 | UK |
| 35 | Mexico |
| 35 | Spain |
| 28 | Venezuela |
| 21 | Canada |
| 21 | Argentina |
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;| 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);| 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 |