Could you please help me on these MySQL questions. Please send me results if pos
ID: 3709611 • Letter: C
Question
Could you please help me on these MySQL questions. Please send me results if possible. Appreciate your help.
For steps 1 – 4 below, execute the appropriate SQL statement at the command line. For step 5, type your response into the “write submission” area of this assignment in Blackboard. Your response should include the entire stored procedure, not just the portions you add.
1. List the part number and description for all parts. The part descriptions should appear in all uppercase letters.
2. List the customer number and name for all the customers located in the city of Grove. Your query should ignore case. For example, a customer with the city of Grove should be included regardless of whether the city was entered into the database table as “Grove,” “GROVE,” “grove,” “GrOvE,” and so on.
3. List the customer number, name, and balance for all customers. The balance should be rounded to the nearest dollar.
4. Premiere Products is currently running a special promotion that is valid for 20 days after an order is placed. List the order number, customer number, customer name, order date, and promotion date for all orders in the system. The promotion date is 20 days after an order is placed. HINT: Review the online MySQL documentation for the ADDDATE() function.
5. Below is a partially completed Oracle PL/SQL store procedure that will change the price of a part with a given part number.
CREATE OR REPLACE PROCEDURE CHG_PART_PRICE (I_PART_NUM IN PART.PART_NUM%TYPE, I_PRICE IN PART.PRICE%TYPE) AS BEGIN END;
Write the portion of this query (between BEGIN and END) that is missing. How would you use this stored procedure to change the price of part AT94 to $26.95? Write the procedure call you would use. Type the entire stored procedure and procedure call into the “write submission” area of this assignment in Blackboard.
MySQL Database file:
CREATE DATABASE PREMIERE;
USE PREMIERE;
CREATE TABLE REP
(REP_NUM CHAR(2) PRIMARY KEY,
LAST_NAME CHAR(15),
FIRST_NAME CHAR(15),
STREET CHAR(15),
CITY CHAR(15),
STATE CHAR(2),
ZIP CHAR(5),
COMMISSION DECIMAL(7,2),
RATE DECIMAL(3,2) );
CREATE TABLE CUSTOMER
(CUSTOMER_NUM CHAR(3) PRIMARY KEY,
CUSTOMER_NAME CHAR(35) NOT NULL,
STREET CHAR(15),
CITY CHAR(15),
STATE CHAR(2),
ZIP CHAR(5),
BALANCE DECIMAL(8,2),
CREDIT_LIMIT DECIMAL(8,2),
REP_NUM CHAR(2) );
CREATE TABLE ORDERS
(ORDER_NUM CHAR(5) PRIMARY KEY,
ORDER_DATE DATE,
CUSTOMER_NUM CHAR(3) );
CREATE TABLE PART
(PART_NUM CHAR(4) PRIMARY KEY,
DESCRIPTION CHAR(15),
ON_HAND DECIMAL(4,0),
CLASS CHAR(2),
WAREHOUSE CHAR(1),
PRICE DECIMAL(6,2) );
CREATE TABLE ORDER_LINE
(ORDER_NUM CHAR(5),
PART_NUM CHAR(4),
NUM_ORDERED DECIMAL(3,0),
QUOTED_PRICE DECIMAL(6,2),
PRIMARY KEY (ORDER_NUM, PART_NUM) );
INSERT INTO REP
VALUES
('20','Kaiser','Valerie','624 Randall','Grove','FL','33321',20542.50,0.05);
INSERT INTO REP
VALUES
('35','Hull','Richard','532 Jackson','Sheldon','FL','33553',39216.00,0.07);
INSERT INTO REP
VALUES
('65','Perez','Juan','1626 Taylor','Fillmore','FL','33336',23487.00,0.05);
INSERT INTO CUSTOMER
VALUES
('148','Al''s Appliance and Sport','2837 Greenway','Fillmore','FL','33336',6550.00,7500.00,'20');
INSERT INTO CUSTOMER
VALUES
('282','Brookings Direct','3827 Devon','Grove','FL','33321',431.50,10000.00,'35');
INSERT INTO CUSTOMER
VALUES
('356','Ferguson''s','382 Wildwood','Northfield','FL','33146',5785.00,7500.00,'65');
INSERT INTO CUSTOMER
VALUES
('408','The Everything Shop','1828 Raven','Crystal','FL','33503',5285.25,5000.00,'35');
INSERT INTO CUSTOMER
VALUES
('462','Bargains Galore','3829 Central','Grove','FL','33321',3412.00,10000.00,'65');
INSERT INTO CUSTOMER
VALUES
('524','Kline''s','838 Ridgeland','Fillmore','FL','33336',12762.00,15000.00,'20');
INSERT INTO CUSTOMER
VALUES
('608','Johnson''s Department Store','372 Oxford','Sheldon','FL','33553',2106.00,10000.00,'65');
INSERT INTO CUSTOMER
VALUES
('687','Lee''s Sport and Appliance','282 Evergreen','Altonville','FL','32543',2851.00,5000.00,'35');
INSERT INTO CUSTOMER
VALUES
('725','Deerfield''s Four Seasons','282 Columbia','Sheldon','FL','33553',248.00,7500.00,'35');
INSERT INTO CUSTOMER
VALUES
('842','All Season','28 Lakeview','Grove','FL','33321',8221.00,7500.00,'20');
INSERT INTO ORDERS
VALUES
('21608','2007-10-20','148');
INSERT INTO ORDERS
VALUES
('21610','2007-10-20','356');
INSERT INTO ORDERS
VALUES
('21613','2007-10-21','408');
INSERT INTO ORDERS
VALUES
('21614','2007-10-21','282');
INSERT INTO ORDERS
VALUES
('21617','2007-10-23','608');
INSERT INTO ORDERS
VALUES
('21619','2007-10-23','148');
INSERT INTO ORDERS
VALUES
('21623','2007-10-23','608');
INSERT INTO PART
VALUES
('AT94','Iron',50,'HW','3',24.95);
INSERT INTO PART
VALUES
('BV06','Home Gym',45,'SG','2',794.95);
INSERT INTO PART
VALUES
('CD52','Microwave Oven',32,'AP','1',165.00);
INSERT INTO PART
VALUES
('DL71','Cordless Drill',21,'HW','3',129.95);
INSERT INTO PART
VALUES
('DR93','Gas Range',8,'AP','2',495.00);
INSERT INTO PART
VALUES
('DW11','Washer',12,'AP','3',399.99);
INSERT INTO PART
VALUES
('FD21','Stand Mixer',22,'HW','3',159.95);
INSERT INTO PART
VALUES
('KL62','Dryer',12,'AP','1',349.95);
INSERT INTO PART
VALUES
('KT03','Dishwasher',8,'AP','3',595.00);
INSERT INTO PART
VALUES
('KV29','Treadmill',9,'SG','2',1390.00);
INSERT INTO ORDER_LINE
VALUES
('21608','AT94',11,21.95);
INSERT INTO ORDER_LINE
VALUES
('21610','DR93',1,495.00);
INSERT INTO ORDER_LINE
VALUES
('21610','DW11',1,399.99);
INSERT INTO ORDER_LINE
VALUES
('21613','KL62',4,329.95);
INSERT INTO ORDER_LINE
VALUES
('21614','KT03',2,595.00);
INSERT INTO ORDER_LINE
VALUES
('21617','BV06',2,794.95);
INSERT INTO ORDER_LINE
VALUES
('21617','CD52',4,150.00);
INSERT INTO ORDER_LINE
VALUES
('21619','DR93',1,495.00);
INSERT INTO ORDER_LINE
VALUES
('21623','KV29',2,1290.00);
Explanation / Answer
1) In built function UPPER() is used to display the description in upper case.
SELECT PART_NUM, UPPER(DESCRIPTION)
FROM PART;
2) WHERE clause in MySQL is case-insensitive, so mentioning city = 'grove' in mysql will select all variation of grove.
SELECT CUSTOMER_NUM, CUSTOMER_NAME
FROM CUSTOMER
WHERE CITY = 'grove';
3) ROUND() function is used to round the BALANCE to nearest digit.
SELECT CUSTOMER_NUM, CUSTOMER_NAME, ROUND(BALANCE,0)
FROM CUSTOMER;
4) ADDDATE() function is used to add 20 days to ORDER_DATE in order to get the promotion date.
SELECT o.ORDER_NUM, c.CUSTOMER_NUM, c.CUSTOMER_NAME, o.ORDER_DATE, ADDDATE(o.ORDER_DATE, 20) AS PROMOTION_DATE
FROM CUSTOMER AS c
INNER JOIN ORDERS AS o
ON o.CUSTOMER_NUM = c.CUSTOMER_NUM;