Use Org
Use Org
WRITE AN SQL QUERY TO FETCH “FIRST_NAME” FROM WORKER TABLE USING THE
ALIAS NAME AS <WORKER_NAME>.
# Q-2. WRITE AN SQL QUERY TO FETCH “FIRST_NAME” FROM WORKER TABLE IN UPPER CASE.
# Q-3. WRITE AN SQL QUERY TO FETCH UNIQUE VALUES OF DEPARTMENT FROM WORKER
TABLE.
# Q-4. WRITE AN SQL QUERY TO PRINT THE FIRST THREE CHARACTERS OF FIRST_NAME FROM
WORKER TABLE.
# Q-5. WRITE AN SQL QUERY TO FIND THE POSITION OF THE ALPHABET (‘A’) IN THE FIRST
NAME COLUMN ‘AMITABH’ FROM WORKER TABLE.
# Q-6. WRITE AN SQL QUERY TO PRINT THE FIRST_NAME FROM WORKER TABLE AFTER
REMOVING WHITE SPACES FROM THE RIGHT SIDE.
# Q-7. WRITE AN SQL QUERY TO PRINT THE DEPARTMENT FROM WORKER TABLE AFTER
REMOVING WHITE SPACES FROM THE LEFT SIDE.
# Q-8. WRITE AN SQL QUERY THAT FETCHES THE UNIQUE VALUES OF DEPARTMENT FROM
WORKER TABLE AND PRINTS ITS LENGTH.
# Q-10. WRITE AN SQL QUERY TO PRINT THE FIRST_NAME AND LAST_NAME FROM WORKER
TABLE INTO A SINGLE COLUMN COMPLETE_NAME.
# Q-11. WRITE AN SQL QUERY TO PRINT ALL WORKER DETAILS FROM THE WORKER TABLE
ORDER BY FIRST_NAME ASCENDING.
# Q-12. WRITE AN SQL QUERY TO PRINT ALL WORKER DETAILS FROM THE WORKER TABLE
ORDER BY FIRST_NAME ASCENDING AND DEPARTMENT DESCENDING.
# Q-13. WRITE AN SQL QUERY TO PRINT DETAILS FOR WORKERS WITH THE FIRST NAME AS
“VIPUL” AND “SATISH” FROM WORKER TABLE.
# Q-14. WRITE AN SQL QUERY TO PRINT DETAILS OF WORKERS EXCLUDING FIRST NAMES,
“VIPUL” AND “SATISH” FROM WORKER TABLE.
# Q-15. WRITE AN SQL QUERY TO PRINT DETAILS OF WORKERS WITH DEPARTMENT NAME AS
“ADMIN”.
# Q-16. WRITE AN SQL QUERY TO PRINT DETAILS OF THE WORKERS WHOSE FIRST_NAME
CONTAINS ‘A’.
# Q-18. WRITE AN SQL QUERY TO PRINT DETAILS OF THE WORKERS WHOSE FIRST_NAME
ENDS WITH ‘H’ AND CONTAINS SIX ALPHABETS.
# Q-19. WRITE AN SQL QUERY TO PRINT DETAILS OF THE WORKERS WHOSE SALARY LIES
BETWEEN 100000 AND 500000.
# Q-20. WRITE AN SQL QUERY TO PRINT DETAILS OF THE WORKERS WHO HAVE JOINED IN
FEB’2014.
# Q-21. WRITE AN SQL QUERY TO FETCH THE COUNT OF EMPLOYEES WORKING IN THE
DEPARTMENT ‘ADMIN’.
SELECT COUNT(*) 'NO OF WORKERS IN ADMIN' FROM WORKER WHERE DEPARTMENT ='ADMIN';
# Q-22. WRITE AN SQL QUERY TO FETCH WORKER NAMES WITH SALARIES >= 50000 AND <=
100000.
# Q-23. WRITE AN SQL QUERY TO FETCH THE NO. OF WORKERS FOR EACH DEPARTMENT IN
THE DESCENDING ORDER.
# Q-25. WRITE AN SQL QUERY TO FETCH DUPLICATE RECORDS HAVING MATCHING DATA IN
SOME FIELDS OF A TABLE.
# Q-26. WRITE AN SQL QUERY TO SHOW ONLY ODD ROWS FROM A TABLE.
# Q-27. WRITE AN SQL QUERY TO SHOW ONLY EVEN ROWS FROM A TABLE.
# Q-28. WRITE AN SQL QUERY TO CLONE A NEW TABLE FROM ANOTHER TABLE.
# Q-30. WRITE AN SQL QUERY TO SHOW RECORDS FROM ONE TABLE THAT ANOTHER TABLE
DOES NOT HAVE.
SELECT * FROM WORKER WHERE WORKER_ID NOT IN (SELECT WORKER_REF_ID FROM BONUS);
# Q-31. WRITE AN SQL QUERY TO SHOW THE CURRENT DATE AND TIME.
SELECT NOW();
SELECT CURDATE();
SELECT CURRENT_DATE();
# Q-32. WRITE AN SQL QUERY TO SHOW THE TOP N (SAY 5) RECORDS OF A TABLE.
# Q-33. WRITE AN SQL QUERY TO DETERMINE THE NTH (SAY N=5) HIGHEST SALARY FROM A
TABLE.
SELECT * FROM WORKER GROUP BY SALARY ORDER BY SALARY DESC LIMIT 4,1;
# Q-34. WRITE AN SQL QUERY TO DETERMINE THE 5TH HIGHEST SALARY WITHOUT USING TOP
OR LIMIT METHOD.
SELECT * FROM WORKER WHERE SALARY<(SELECT SALARY FROM WORKER GROUP BY SALARY
ORDER BY SALARY DESC LIMIT 3,1) ORDER BY SALARY DESC LIMIT 1;
# Q-35. WRITE AN SQL QUERY TO FETCH THE LIST OF EMPLOYEES WITH THE SAME SALARY.
SELECT * FROM WORKER WHERE SALARY=(SELECT SALARY FROM WORKER GROUP BY SALARY
HAVING COUNT(*)>1);
# Q-36. WRITE AN SQL QUERY TO SHOW THE SECOND HIGHEST SALARY FROM A TABLE.
SELECT * FROM WORKER GROUP BY SALARY ORDER BY SALARY DESC LIMIT 1,1;
SELECT MAX(SALARY) FROM WORKER WHERE SALARY NOT IN(SELECT MAX(SALARY) FROM
WORKER);
# Q-37. WRITE AN SQL QUERY TO SHOW ONE ROW TWICE IN RESULTS FROM A TABLE.
# Q-39. WRITE AN SQL QUERY TO FETCH THE FIRST 50% RECORDS FROM A TABLE.
# Q-40. WRITE AN SQL QUERY TO FETCH THE DEPARTMENTS THAT HAVE LESS THAN 3 PEOPLE
IN IT.
# Q-41. WRITE AN SQL QUERY TO SHOW ALL DEPARTMENTS ALONG WITH THE NUMBER OF
PEOPLE IN THERE.
# Q-42. WRITE AN SQL QUERY TO SHOW THE LAST RECORD FROM A TABLE.
# Q-44. WRITE AN SQL QUERY TO FETCH THE LAST FIVE RECORDS FROM A TABLE.
SELECT * FROM (SELECT * FROM WORKER ORDER BY WORKER_ID DESC LIMIT 5) T ORDER BY
T.WORKER_ID ASC;
# Q-45. WRITE AN SQL QUERY TO PRINT THE NAME OF EMPLOYEES HAVING THE HIGHEST
SALARY IN EACH DEPARTMENT.
AND TEMPNEW.TOTALSALARY=T.SALARY;
# Q-46. WRITE AN SQL QUERY TO FETCH THREE MAX SALARIES FROM A TABLE.
SELECT SALARY FROM WORKER GROUP BY SALARY ORDER BY SALARY DESC LIMIT 3;
# Q-47. WRITE AN SQL QUERY TO FETCH THREE MIN SALARIES FROM A TABLE.
# Q-48. WRITE AN SQL QUERY TO FETCH NTH MAX SALARIES FROM A TABLE. (SAY 4TH)
# Q-49. WRITE AN SQL QUERY TO FETCH DEPARTMENTS ALONG WITH THE TOTAL SALARIES
PAID FOR EACH OF THEM.
# Q-50. WRITE AN SQL QUERY TO FETCH THE NAMES OF WORKERS WHO EARN THE HIGHEST
SALARY.
DESCRIBE CEREALS;
#3. CREATE VIEW NAME AS SEE WHERE USERS CAN NOT SEE TYPE COLUMN [FIRST RUN
APPROPRIATE QUERY THEN CREATE VIEW]
SELECT
NAME,MFR,CALORIES,PROTEIN,FAT,SODIUM,FIBER,CARBO,SUGARS,POTASS,VITAMINS,SHELF,
WEIGHT,CUPS,RATING
FROM CEREALS;
SELECT NAME, COUNT(NAME) FROM CEREALS GROUP BY NAME HAVING COUNT(NAME) >=1
ORDER BY COUNT(NAME) DESC;
#9. FIND AVERAGE OF CALORIES OF HOT CEREAL AND COLD CEREAL IN ONE QUERY
#10. ADD NEW COLUMN AS HL_CALORIES WHERE MORE THAN AVERAGE CALORIES SHOULD
BE CATEGORIZED AS HIGH AND LESS THAN AVERAGE CALORIES SHOULD BE CATEGORIZED AS
LOW
UPDATE CEREALS
ELSE "LOW"
END;
UPDATE CEREALS
SET VZ = CASE
ELSE "LOW"
END;
#14. SELECT ONLY THOSE RECORDS WHICH ARE HIGH IN COLUMN HL_CALORIES AND MAIL
TO [email protected] [SAVE/NAME YOUR FILE AS <YOUR FIRST
NAME_CEREALS_HIGH>]
#16. FIND AVERAGE RATINGS OF THOSE WERE HIGH AND LOW CALORIES
#17. CREATE TWO EXAMPLES OF SUB QUERIES OF YOUR CHOICE AND GIVE EXPLANATION IN
THE SCRIPT
DROP FAT;
SHOW TABLES;
DESCRIBE CLINICTRIAL;
# 7. FIND AVERAGE BLOOD PRESSURE OF THOSE HAD DRUG REACTION AND DID NOT HAD
DRUG REACTION
# 8. ADD NEW COLUMN NAME AS ‘AGE_GROUP’ AND THOSE HAVING AGE BETWEEN 16 & 21
SHOULD BE CATEGORIZED AS LOW, MORE THAN 21 AND LESS THAN 35 SHOULD BE
CATEGORIZED AS MIDDLE AND ABOVE 35 SHOULD BE CATEGORIZED AS HIGH.
SELECT AGE,CASE WHEN AGE BETWEEN 16 AND 21 THEN 'LOW' WHEN AGE BETWEEN 21 AND
35 THEN 'MIDDLE' WHEN AGE >35 THEN 'HIGH' END 'AGE_GROUP' FROM CLINICTRIAL;
UPDATE CLINICTRIAL
# 16. SELECT LADIES WHOSE NAME STARTS WITH ‘A’ AND THOSE WERE PREGNANT
SELECT NAME,PREGNANT FROM CLINICTRIAL WHERE NAME LIKE 'A%' AND PREGNANT='YES';
# 19. IDENTIFY LADIES WHO HAD LOW ANXIETY AGED LESS THAN 30
(SELECT AGE FROM INSURANCE_INFO ORDER BY AGE DESC LIMIT 50) AS AGES
GROUP BY AGE;
#3. ADD INDEX NAME ‘QUICK’ ON ‘ID’
DESCRIBE INSURANCE_INFO;
#5. CREATE VIEW NAME AS ‘GENDER’ WHERE USERS CAN NOT SEE ‘SEX’ [HINT: FIRST RUN
APPROPRIATE QUERY THEN CREATE VIEW]
SELECT ID,AGE,BMI,CHILDREN,SMOKER,REGION,CHARGES
FROM INSURANCE_INFO;
SELECT SEX, COUNT(SEX) FROM INSURANCE_INFO GROUP BY SEX HAVING SEX = "FEMALE";
DESCRIBE INSURANCE_INFO;
#10. CREATE A NEW COLUMN ‘RATIO’ WHICH IS AGE MULTIPLY BY BMI
UPDATE INSURANCE_INFO
DESCRIBE INSURANCE_INFO;
#16. ADD NEW COLUMN AS HL_CHARGES WHERE MORE THAN AVERAGE CHARGES SHOULD
BE CATEGORIZED AS HIGH AND LESS THAN AVERAGE CHARGES SHOULD BE CATEGORIZED AS
LOW
UPDATE INSURANCE_INFO
ELSE 'LESS'
END;
-- 22. CREATE ONE EXAMPLE OF SUB QUERIES INVOLVING ‘BMI’ AND ‘SEX’ AND GIVE
EXPLANATION IN
USE INSURANCE;
(SELECT SEX, BMI FROM INSURANCE_INFO GROUP BY SEX, BMI HAVING COUNT(*) >1)
ORDER BY BMI;
-- 23. CREATE A VIEW CALLED FEMALE_HL_CHARGES THAT SHOWS ONLY THOSE DATA WHERE
HL_CHARGES IS HIGH, FEMALE, SMOKERS AND WITH 0 CHILDREN
#24. UPDATE CHILDREN COLUMN IF THERE IS 0 CHILDREN THEN MAKE IT AS ZERO CHILDREN,
IF 1
UPDATE INSURANCE_INFO
SET CHILDREN =
CASE
END;
DESCRIBE INSURANCE_INFO;
SELECT
CUSTOMERS;
#3. RETRIEVE THE AVERAGE PRICE OF PRODUCTS IN EACH CATEGORY.
SELECT
C.CATEGORYID,
C.CATEGORYNAME,
ROUND(AVG(P.PRICE),2)
FROM
CATEGORIES C
INNER JOIN
PRODUCTS P
ON
P.CATEGORYID = C.CATEGORYID
GROUP BY
C.CATEGORYID, C.CATEGORYNAME;
#4. LIST ALL ORDER DETAILS WITH THE PRODUCT NAME, QUANTITY, AND UNIT PRICE.
SELECT
P.PRODUCTNAME,
O.QUANTITY,
P.PRICE
FROM
ORDERDETAILS O
INNER JOIN
SELECT
C.CUSTOMERNAME,
COUNT(O.ORDERID) AS 'NO_OF_ORDERS'
FROM
CUSTOMERS C
INNER JOIN
ORDERS O
ON
O.CUSTOMERID = C.CUSTOMERID
GROUP BY
C.CUSTOMERNAME
ORDER BY
NO_OF_ORDERS DESC;
SELECT
S.SUPPLIERNAME,
SH.SHIPPERNAME
FROM
SUPPLIERS S
INNER JOIN
SHIPPERS SH
ON S.SHIPPERID = SH.SHIPPERID;
#7. RETRIEVE ALL PRODUCTS THAT BELONG TO A SPECIFIC CATEGORY (E.G., 'BEVERAGES').
SELECT
P.PRODUCTNAME,
C.CATEGORYNAME
FROM
CATEGORIES C
INNER JOIN
PRODUCTS P
ON
C.CATEGORYID = P.CATEGORYID
WHERE
CATEGORYNAME = 'BEVERAGES';
#8. LIST ALL ORDERS ALONG WITH THE ORDER DATE AND CUSTOMER NAME.
SELECT
C.CUSTOMERNAME,
O.ORDERDATE
FROM
CUSTOMERS C
INNER JOIN
ORDERS O
ON
O.CUSTOMERID = C.CUSTOMERID;
#9. GET THE TOTAL SALES AMOUNT FOR EACH PRODUCT.
SELECT
P.PRODUCTID,
P.PRODUCTNAME,
FROM
PRODUCTS P
JOIN
GROUP BY
P.PRODUCTID, P.PRODUCTNAME
ORDER BY PRODUCTID;
#11. LIST ALL SUPPLIERS AND THE NUMBER OF PRODUCTS THEY SUPPLY.
SELECT
S.SUPPLIERID,
S.SUPPLIERNAME,
COUNT(O.ORDERID)
AS ' TOTAL_ORDERS'
FROM
SUPPLIERS S
INNER JOIN
ORDERS O
ON S.SUPPLIERID = O.SUPPLIERID
GROUP BY
S.SUPPLIERID,S.SUPPLIERNAME
ORDER BY
TOTAL_ORDERS DESC;
#12. RETRIEVE ALL ORDERS THAT WERE SHIPPED BY A SPECIFIC SHIPPER (E.G., 'SPEEDY
EXPRESS'.
SELECT
P.PRODUCTID,
P.PRODUCTNAME
FROM
PRODUCTS P
JOIN
JOIN
JOIN
WHERE
#13. LIST ALL CUSTOMERS WHO HAVE ORDERED PRODUCTS FROM A SPECIFIC CATEGORY
(E.G., ‘BEVERAGES’).
SELECT
DISTINCT C.CUSTOMERID,
C.CUSTOMERNAME
FROM
CUSTOMERS C
JOIN
JOIN
JOIN
JOIN
WHERE
CAT.CATEGORYNAME = 'BEVERAGES';
#14. LIST ALL PRODUCTS THAT HAVE NOT BEEN ORDERED YET.
SELECT
P.PRODUCTID,
P.PRODUCTNAME
FROM
PRODUCTS P
LEFT JOIN
ORDERDETAILS OD
ON
P.PRODUCTID = OD.PRODUCTID
WHERE
OD.PRODUCTID IS NULL;
SELECT
C.CUSTOMERID,
C.CUSTOMERNAME,
ROUND(AVG(OD.TOTAL_ORDER_VALUE),2) AS AVERAGE_ORDER_VALUE
FROM
CUSTOMERS C
JOIN
JOIN
(SELECT
OD.ORDERID,
FROM
ORDERDETAILS OD
JOIN
PRODUCTS P ON OD.PRODUCTID = P.PRODUCTID
GROUP BY
GROUP BY
C.CUSTOMERID, C.CUSTOMERNAME
LIMIT 0, 10000;
SELECT
C.CUSTOMERID,
C.CUSTOMERNAME,
MAX(O.ORDERDATE) AS LATEST_ORDER_DATE
FROM
CUSTOMERS C
JOIN
GROUP BY
C.CUSTOMERID, C.CUSTOMERNAME;
#17. RETRIEVE THE TOP 3 MOST FREQUENT CUSTOMERS BASED ON THE NUMBER OF ORDERS
PLACED.
SELECT
C.CUSTOMERID,
C.CUSTOMERNAME,
COUNT(O.ORDERID) AS ORDER_COUNT
FROM
CUSTOMERS C
JOIN
GROUP BY
C.CUSTOMERID, C.CUSTOMERNAME
ORDER BY
ORDER_COUNT DESC
LIMIT 3;
#18. LIST ALL PRODUCTS AND THEIR CATEGORIES, INCLUDING CATEGORY NAMES.
SELECT
P.PRODUCTID,
P.PRODUCTNAME,
C.CATEGORYID,
C.CATEGORYNAME
FROM
PRODUCTS P
JOIN
SELECT
P.PRODUCTID,
P.PRODUCTNAME,
SUM(OD.QUANTITY) AS TOTAL_QUANTITY_ORDERED
FROM
PRODUCTS P
JOIN
GROUP BY
P.PRODUCTID, P.PRODUCTNAME;
SELECT
S.SUPPLIERID,
S.SUPPLIERNAME,
SUM(OD.QUANTITY * P.PRICE) AS TOTAL_SALES
FROM
SUPPLIERS S
JOIN
JOIN
JOIN
GROUP BY
S.SUPPLIERID, S.SUPPLIERNAME
ORDER BY SUPPLIERID;