You are on page 1of 15

DATA A NA L Y S T

EXCEL, SQL & PYTHON


SQL COMMANDS
• CREATE TABLE CUSTOMER( C_ID VARCHAR PRIMARY KEY, C_NAME VARCHAR,AGE INT,POSTAL_CODE BIGINT);
• COPY CUSTOMER TABLE FROM 'C:\PROGRAM FILES\POSTGRESQL\14\DATA\DATA COPY\COPYTEXT.TXT' DELIMITER ',’;
• COPY CUSTOMER TABLE FROM 'C:\PROGRAM FILES\POSTGRESQL\14\DATA\DATA COPY\COPY.CSV' DELIMITER ',' CSV
HEADER;

• SELECT * FROM CUSTOMER TABLE;


• SELECT FIRST_NAME,LAST_NAME FROM CUSTOMER_TABLE;
• SELECT DISTINCT FIRST_NAME,LAST_NAME FROM CUSTOMER_TABLE;
• SELECT * FROM CUSTOMER_TABLE WHERE FIRST_NAME='JAY’;
SQL COMMANDS
• SELECT * FROM CUSTOMER_TABLE WHERE FIRST_NAME='JAY' OR (AGE>20 AND AGE<40);
• SELECT * FROM CUSTOMER_TABLE WHERE NOT FIRST_NAME='JAY’
• UPDATE SCIENCE_CLASS SET NAME='CHINTU' WHERE SCIENCE_MARKS=99;
• DELETE FROM SCIENCE_CLASS WHERE ENROLLMENT_NO=143;
• ALTER TABLE SCIENCE_CLASS ADD PHYSICS_MARKS INTEGER;
• ALTER TABLE SCIENCE_CLASS ALTER COLUMN PHYSICS_MARKS TYPE VARCHAR;
• ALTER TABLE SCIENCE_CLASS RENAME COLUMN PHYSICS_MARKS TO BIOSCIENCE_MARKS;
SQL COMMANDS
• ALTER TABLE SCIENCE_CLASS ADD CONSTRAINT SCIENCE_MARKS CHECK (SCIENCE_MARKS<=100 AND
SCIENCE_MARKS>=0);

• ALTER TABLE SCIENCE_CLASS ADD PRIMARY KEY (ENROLLMENT_NO);


• COPY CUSTOMER FROM 'C:\PROGRAM FILES\POSTGRESQL\14\DATA\DATA_COPY\CUSTOMER.CSV' CSV HEADER;
• SELECT * FROM CUSTOMER WHERE CITY IN ('PHILADELPHIA','SEATTLE’);
• SELECT * FROM CUSTOMER WHERE AGE BETWEEN 20 AND 30; (// 20 AND 30 INCLUDED)
• SELECT * FROM CUSTOMER WHERE CUSTOMER_NAME LIKE 'BRO%';
SQL COMMANDS
• SELECT * FROM CUSTOMER WHERE CUSTOMER_NAME NOT LIKE 'B%’;
• SELECT * FROM CUSTOMER WHERE CITY='LOS ANGELES' ORDER BY POSTAL_CODE ASC,AGE DESC;
• SELECT * FROM CUSTOMER WHERE CITY='LOS ANGELES' ORDER BY CUSTOMER_NAME DESC LIMIT 30;
• SELECT CUSTOMER_ID AS "SERIAL NUMBER", CUSTOMER_NAME AS NAME , AGE AS CUSTOMER_AGE
FROM CUSTOMER;

• SELECT COUNT(ORDER_LINE) AS "NUMBER OF PRODUCTS ORDERED", COUNT(DISTINCT ORDER_ID) AS


"NUMBER OF ORDERS" FROM SALES WHERE CUSTOMER_ID='CG-12520';
SQL COMMANDS
• SELECT SUM(PROFIT) AS "TOTAL PROFIT" FROM SALES;
• SELECT AVG(AGE) AS "AVERAGE CUSTOMER AGE" FROM CUSTOMER;
• SELECT MIN(AGE) AS "YOUNGEST", MAX(AGE) AS "OLDEST" FROM CUSTOMER;
• SELECT CUSTOMER_ID,MIN(SALES) AS MIN_SALES,MAX(SALES) AS MAX_SALES,AVG(SALES) AS AVG_SALES,
SUM(SALES) AS TOTAL_SALES FROM SALES GROUP BY CUSTOMER_ID ORDER BY TOTAL_SALES DESC LIMIT 5;

• SELECT REGION, COUNT(CUSTOMER_ID) AS CUSTOMER_COUNT FROM CUSTOMER WHERE CUSTOMER_NAME


LIKE 'A%' GROUP BY REGION HAVING COUNT(CUSTOMER_ID)>15;

• SELECT *, CASE WHEN AGE<30 THEN 'YOUNG' WHEN AGE>60 THEN 'SENIOR' ELSE 'MIDDLE AGED' END AS
AGE_CATEGORY FROM CUSTOMER;
INNER JOIN

SELECT A.ORDER_LINE, A.PRODUCT_ID, A.CUSTOMER_ID, A.SALES, B.CUSTOMER_NAME, B.AGE


FROM SALES_2015 AS A
INNER JOIN CUSTOMER_20_60 AS B
ON A.CUSTOMER_ID = B.CUSTOMER_ID ORDER BY CUSTOMER_ID;
LEFT JOIN

SELECT A.ORDER_LINE, A.PRODUCT_ID,A.CUSTOMER_ID,A.SALES,B.CUSTOMER_NAME,B.AGE


FROM SALES_2015 AS A
LEFT JOIN CUSTOMER_20_60 AS B
ON A.CUSTOMER_ID = B.CUSTOMER_ID
ORDER BY CUSTOMER_ID;
RIGHT JOIN

SELECT A.ORDER_LINE, A.PRODUCT_ID,B.CUSTOMER_ID,A.SALES,B.CUSTOMER_NAME,B.AGE


FROM SALES_2015 AS A
RIGHT JOIN CUSTOMER_20_60 AS B
ON A.CUSTOMER_ID = B.CUSTOMER_ID
ORDER BY CUSTOMER_ID;
FULL JOIN
SELECT
A.ORDER_LINE, A.PRODUCT_ID,A.CUSTOMER_ID,A.SALES,B.CUSTOMER_ID,B.CUSTOMER_NAME,B.AGE
FROM SALES_2015 AS A
FULL JOIN CUSTOMER_20_60 AS B
ON A.CUSTOMER_ID = B.CUSTOMER_ID
ORDER BY A.CUSTOMER_ID,B.CUSTOMER_ID;
INTERSECT EXCEPT UNION
• SELECT * FROM SALES
INTERSECT
SELECT * FROM SALES_2015;

• SELECT * FROM SALES


EXCEPT
SELECT * FROM SALES_2015;

• SELECT * FROM SALES


UNION
SELECT * FROM SALES_2015;
SUBQUERIES
• SELECT * FROM SALES
WHERE CUSTOMER_ID IN (SELECT CUSTOMER_ID FROM CUSTOMER WHERE AGE>60);

• SELECT A.PRODUCT_ID,A.PRODUCT_NAME,A.CATEGORY,B.QUANTITY
FROM PRODUCT AS A
LEFT JOIN (SELECT PRODUCT_ID,SUM(QUANTITY) AS QUANTITY FROM SALES GROUP BY PRODUCT_ID)
AS B
ON A.PRODUCT_ID=B.PRODUCT_ID
ORDER BY B.QUANTITY DESC;
SUBQUERIES

• SELECT CUSTOMER_ID,ORDER_LINE,(SELECT CUSTOMER_NAME FROM CUSTOMER WHERE


CUSTOMER.CUSTOMER_ID=SALES.CUSTOMER_ID)
FROM SALES
ORDER BY CUSTOMER_ID;
VIEWS
• CREATE VIEW LOGISTICS AS
SELECT A.ORDER_LINE,A.ORDER_ID,B.CUSTOMER_NAME,B.CITY,B.STATE,B.COUNTRY
FROM SALES AS A
LEFT JOIN CUSTOMER AS B
ON A.CUSTOMER_ID = B.CUSTOMER_ID
ORDER BY A.ORDER_LINE;

• SELECT * FROM LOGISTICS;


INDEX

• INDEX HELPS IN FAST RETRIEVAL OF DATA BUT TAKE LONGER TIME IN UPDATING THE DATA
• CREATE INDEX MON_IDX
• ON MONTH_VALUES(MM);
• DROP INDEX IF EXISTS MON_IDX;

You might also like