0% found this document useful (0 votes)
11 views

SQL project - Coffee_Store_Analysis

Uploaded by

suresh p
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

SQL project - Coffee_Store_Analysis

Uploaded by

suresh p
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

SQL PROJECT

COFFEE
STORE
DATABASE
BY
SATYA TEJA D
INTRODUCTION

THE PROJECT MAINLY FOCUSES ON ANALYZING


COFFEE STORE DATASET TO SOLVE BUSINESS
PROBLEMS AND EXTRACT INSIGHTS ON ORDERS,
CUSTOMERS AND PRODUCT PREFERENCES. THE DATA
IS PROCESSED USING MYSQL AND THE ANALYSIS
HELPED IN PROVIDING RECOMMENDATIONS FOR
OPTIMISING BUSINESS OPERATIONS.
SCHEMA
THE SCHEMA IS DESIGNED TO CREATE RELATIONSHIP
BETWEEN THE TABLES TO ENSURE INTEGRITY AND
FACILITATE COMPLEX QUERYING.

DATABASE NAME

COFFEE STORE

TABLE NAME TABLE NAME TABLE NAME

PRODUCTCS ORDERS CUSTOMERS

COLUMNS COLUMNS COLUMNS

ID INT ID INT ID INT

NAME VARCHAR(30) PRODUCT_ID INT FIRST_NAME VARCHAR(30)

PRICE DECIMAL(3,2) CUSTOMER_ID INT LAST_NAME VARCHAR(30)

COFFEE_ORIGIN VARCHAR(30) ORDER_TIME DATETIME GENDER ENUM(‘M’, ‘F’)

PHONE_NUMBER VARCHAR(11)
ENTITY RELATIONSHIP DIAGRAM

AN ENTITY RELATIONSHIP DIAGRAM IS A DIAGRAM THAT REPRESENTS


RELATIONSHIPS AMONG ENTITIES IN A DATABASE. IT IS COMMONLY KNOWN AS
AN ER DIAGRAM. AN ER DIAGRAM IN DBMS PLAYS A CRUCIAL ROLE IN
DESIGNING THE DATABASE.
CREATING DATABASE

STEPS TO CREATE DATABASE: CODE FOR YOUR REFERENCE:

SHOW DATABASES;
CREATE A NEW DATABASE CALLED CREATE DATABASE COFFEE_STORE;
COFFEE_STORE. USE COFFEE_STORE;

CREATE TABLE PRODUCTS (


ID INT AUTO_INCREMENT PRIMARY KEY,
USE THE COFFEE_STORE DATABASE. NAME VARCHAR(30),
PRICE DECIMAL(3,2)
);
CREATE ALL THE THREE TABLES
CREATE TABLE CUSTOMERS(
WITH COLUMNS, ADD THEIR DATA ID INT AUTO_INCREMENT PRIMARY KEY,
FIRST_NAME VARCHAR(30),
TYPES AND CONSTRAINTS LAST_NAME VARCHAR(30),
GENDER ENUM('M','F'),
(PRODUCTS, ORDERS, CUSTOMERS). PHONE_NUMBER VARCHAR(11)
);

ENSURE TO CHECK ALL THE TABLES. CREATE TABLE ORDERS(


ID INT AUTO_INCREMENT PRIMARY KEY,
PRODUCT_ID INT,
CUSTOMER_ID INT,
INSERT VALUES INTO ALL THE ORDER_TIME DATETIME,
THREE TABLES. FOREIGN KEY (PRODUCT_ID) REFERENCES
PRODUCTS(ID),
FOREIGN KEY (CUSTOMER_ID) REFERENCES
CUSTOMERS(ID)
);

SHOW DATABASES;
NOTE: DM FOR PRACTISE TEXT DATASET USE COFFEE_STORE;
SHOW TABLES;
QUERYING REQUIRED DATA
WE ARE DONE WITH CREATING DATABASE, IT’S TIME TO PLAY..

EXERCISE 1
FROM THE CUSTOMERS TABLE, SELECT THE FIRST NAME, PHONE NUMBER OF ALL THE FEMALE EMPLOYEES
WHO HAVE THE LAST NAME BLUTH.
SELECT FIRST_NAME, PHONE_NUMBER FROM CUSTOMERS
WHERE LAST_NAME = 'BLUTH' AND GENDER = 'F';

EXERCISE 2
FROM THE PRODUCTS TABLE, SELECT THE NAME FOR ALL PRODUCTS THAT HAVE A PRICE GREATER THAN
3.00 OR A COFFEE_ORIGIN OF SRI LANKA.

SELECT NAME FROM PRODUCTS


WHERE PRICE > 3.00 OR COFFEE_ORIGIN = 'SRI LANKA';

EXERCISE 3
HOW MANY MALE CUSTOMERS DON’T HAVE A PHONE NUMBER ENTERED IN THE CUSTOMERS TABLE?
SELECT * FROM CUSTOMERS
WHERE GENDER = 'M' AND PHONE_NUMBER IS NULL;

EXERCISE 4
FROM THE PRODUCTS TABLE, SELECT THE NAME AND PRICE OF ALL PRODUCTS WITH A COFFEE ORIGIN
EQUAL TO COLUMBIA OR INDONESIA. SORT THE RESULTS BY NAME A-Z.
SELECT NAME, PRICE FROM PRODUCTS
WHERE COFFEE_ORIGIN IN ('COLUMBIA', 'INDONESIA')
ORDER BY NAME;
EXERCISE 5
FROM THE ORDERS TABLE, SELECT ALL THE ORDERS FROM FEBRUARY 2023, FOR CUSTOMERS WITH IDS OF
19,20,21 OR 24.
SELECT * FROM ORDERS
WHERE (MONTH(ORDER_TIME) = 02 AND YEAR(ORDER_TIME) = 2023) AND CUSTOMER_ID IN (19,20,21,24);

EXERCISE 6
FROM THE CUSTOMERS TABLE, SELECT THE FIRST NAME AND PHONE NUMBER OF ALL THE CUSTOMERS
WHOSE LAST NAME CONTAINS A PATTERN ‘AR’
SELECT FIRST_NAME, PHONE_NUMBER FROM CUSTOMERS
WHERE LAST_NAME LIKE '%AR%';

EXERCISE 7
FROM THE CUSTOMERS TABLE, SELECT ALL THE DISTINCT LAST NAMES AND ORDER THEM ALPHABETICALLY
(A-Z)
SELECT DISTINCT LAST_NAME FROM CUSTOMERS
ORDER BY LAST_NAME ASC;

EXERCISE 8
SELECT THE FIRST 4 ORDERS PLACED FOR THE PRODUCT WITH ID 3, IN FEBRUARY 2023.
SELECT * FROM ORDERS
WHERE PRODUCT_ID = 3 AND (MONTH(ORDER_TIME) = 2 AND YEAR(ORDER_TIME) = 2023)
ORDER BY ORDER_TIME
LIMIT 4;

EXERCISE 9
SELECT THE NAME, PRICE, COFFEE_ORIGIN FROM THE PRODUCTS TABLE, BUT RENAME THE PRICE COLUMN
TO RETAIL PRICE IN THE RESULT SET.

SELECT NAME, PRICE AS RETAIL_PRICE, COFFEE_ORIGIN FROM PRODUCTS;


EXERCISE 10
SELECT THE ORDER ID AND CUSTOMER’S PHONE NUMBER FOR ALL ORDERS OF PRODUCT ID 4.
SELECT O.ID, C.PHONE_NUMBER FROM ORDERS O
JOIN CUSTOMERS C ON C.ID = O.CUSTOMER_ID
WHERE PRODUCT_ID = 4;

EXERCISE 11
SELECT THE PRODUCT NAME AND ORDER TIME, FOR FILTER COFFEES SOLD BETWEEN JANUARY 1ST 2023
AND MARCH 31ST 2023.
SELECT NAME, ORDER_TIME FROM PRODUCTS
JOIN ORDERS ON ORDERS.PRODUCT_ID = PRODUCTS.ID
WHERE NAME = 'FILTER' AND ORDER_TIME BETWEEN '2023-01-01' AND '2023-03-31';

EXERCISE 12
SELECT THE PRODUCT NAME, PRICE AND ORDER TIME FOR ALL ORDERS FROM FEMALES IN JANUARY 2023.

SELECT P.NAME, P.PRICE, O.ORDER_TIME FROM PRODUCTS P


JOIN ORDERS O ON O.PRODUCT_ID = P.ID
JOIN CUSTOMERS C ON C.ID = O.CUSTOMER_ID
WHERE GENDER = 'F' AND (MONTH(ORDER_TIME) = 01 AND YEAR(ORDER_TIME) = 2023);
THANKYOU
STAY CONNECTED AND FOLLOW ONLY IF THE CONTENT IS USEFUL

SATYA TEJA D
LET’S MAKE IT TOGETHER

You might also like