0% found this document useful (0 votes)
13 views3 pages

SQL Worksheet Answers

Uploaded by

lokesvaras51
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views3 pages

SQL Worksheet Answers

Uploaded by

lokesvaras51
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Complete Answers – SQL Worksheet

1. MySQL is an open-source relational database system used to store, query and manage
structured data. It can be downloaded from the official MySQL site.

2. Correct SQL to increase Marks of students with Marks<33:


UPDATE Student SET Marks=Marks+5 WHERE Marks<33;

3. Add column COUNTRY to PLAYER:


ALTER TABLE PLAYER ADD COLUMN COUNTRY VARCHAR(70);
(DDL command)

4. AVG(SCORE)=45, COUNT(SCORE)=2 because one row has NULL (AVG ignores NULL,
COUNT(SCORE) counts non-NULL).

5. Employee table, exclude DELHI, MUMBAI, CHANDIGARH:


SELECT * FROM Employee WHERE CITY NOT IN ('DELHI','MUMBAI','CHANDIGARH');

6. Database vs Table: Database is a container; Table stores records inside it.

7. Create Employee table:


CREATE TABLE Employee (EmpID INT PRIMARY KEY, Name VARCHAR(100) NOT NULL,
Designation VARCHAR(100), Age INT, Salary DECIMAL(12,2));

8. Create Student table:


CREATE TABLE Student (RollNo INT PRIMARY KEY, Name VARCHAR(100) NOT NULL, Physics
INT, Chemistry INT, Maths INT);

9. Create Workshop table:


CREATE TABLE Workshop (WorkshopID INT PRIMARY KEY, Title VARCHAR(200) NOT NULL,
Organisation VARCHAR(150), StartDate DATE, EndDate DATE, Location VARCHAR(150),
Participants INT);

10. Correct syntax to add column Gender:


ALTER TABLE CUSTOMERS ADD COLUMN Gender CHAR(1);

11. Transaction example:


START TRANSACTION;
UPDATE Account SET balance=balance-100 WHERE id=1;
UPDATE Account SET balance=balance+100 WHERE id=2;
COMMIT; -- or ROLLBACK;

12. HAVING vs WHERE:


WHERE filters rows before grouping; HAVING filters groups after aggregation.

13. TRANSPORTER queries:


(i) SELECT DRIVERNAME, DESTINATION FROM TRANSPORTER WHERE
ITEM='TELEVISION';
(ii) SELECT DRIVERNAME, DESTINATION FROM TRANSPORTER WHERE
DESTINATION<>'MUMBAI';
(iii) SELECT DISTINCT DESTINATION FROM TRANSPORTER;
(iv) SELECT * FROM TRANSPORTER WHERE DGRD IS NOT NULL;
(v) SELECT DRIVERNAME, ITEM, TRAVELDATE FROM TRANSPORTER WHERE
TRAVELDATE<='2019-04-01';
(vi) SELECT COUNT(*) FROM TRANSPORTER WHERE DRIVERNAME LIKE '%MOHAN%';
(vii) SELECT DRIVERNAME, ITEM, TRAVELDATE FROM TRANSPORTER ORDER BY
DRIVERNAME ASC;
(viii) SELECT DRIVERNAME FROM TRANSPORTER WHERE
CHAR_LENGTH(DRIVERNAME)=3;

14. CHAR(10) and VARCHAR(10): 10 is max number of characters.

15. GYM queries:


(i) SELECT NAME,PREWEIGHT,CURRWEIGHT FROM GYM WHERE BRANCH='MODEL
TOWN';
(ii) SELECT NAME,PREWEIGHT,CURRWEIGHT,CURRWEIGHT-PREWEIGHT AS Change
FROM GYM;
(iii) SELECT BRANCH,COUNT(*) FROM GYM GROUP BY BRANCH;
(iv) SELECT NAME,DOJ FROM GYM WHERE YEAR(DOJ)=2018;
(v) SELECT NAME,CURRWEIGHT FROM GYM ORDER BY CURRWEIGHT DESC;
(vi) SELECT NAME,DOJ FROM GYM WHERE GENDER='M' AND DOJ>'2018-09-27';
(vii) SELECT NAME,DOJ FROM GYM WHERE NAME LIKE 'S%a';

16. FLIGHT queries:


(i) SELECT * FROM FLIGHT WHERE ORIGIN='Varanasi' AND DESTINATION='Nepal';
(ii) SELECT DISTINCT ORIGIN FROM FLIGHT;
(iii) SELECT * FROM FLIGHT ORDER BY RATE DESC;
(iv) SELECT * FROM FLIGHT WHERE FLIGHTDATE>'2008-01-31';
(v) SELECT Flight_No, Destination FROM Flight WHERE Destination LIKE '_u%';
(vi) SELECT Origin, COUNT(*) FROM Flight GROUP BY Origin;
(vii) SELECT Origin, Destination FROM Flight WHERE SEATS>400;
(viii) SELECT SUM(Rate), MAX(Seats) FROM Flight;

17. PARTICIPANT/ACTIVITY queries:


Primary key changed from NAME to ADMNO because NAME not unique. ActivityCode type:
VARCHAR(10).
Join query:
SELECT [Link],[Link],[Link] FROM PARTICIPANT P JOIN ACTIVITY A ON
[Link]=[Link] WHERE [Link] LIKE '%bag%' AND [Link]>250;

18. LOAN and BORROWER:


Foreign key in BORROWER: LOAN_NO.
List customers and amount ascending:
SELECT B.CUSTOMER_NAME,[Link] FROM BORROWER B JOIN LOAN L ON
B.LOAN_NO=L.LOAN_NO ORDER BY [Link] ASC;

19. HOSPITAL queries (examples):


- ENT: SELECT * FROM HOSPITAL WHERE DEPARTMENT='ENT';
- Charges>3200: SELECT * FROM HOSPITAL WHERE CHARGES>3200;
- Department ENT and CARDIOLOGY: SELECT * FROM HOSPITAL WHERE DEPARTMENT IN
('ENT','CARDIOLOGY');
- SURGERY and date before 1999-01-01: SELECT * FROM HOSPITAL WHERE
DEPARTMENT='SURGERY' AND DATEOFADM<'1999-01-01';
- Male charges<2500: SELECT * FROM HOSPITAL WHERE SEX='M' AND CHARGES<2500;
- etc.

Aggregate examples:
SELECT MAX(CHARGES) FROM HOSPITAL;
SELECT MIN(CHARGES) FROM HOSPITAL;
SELECT SUM(CHARGES) FROM HOSPITAL WHERE AGE>=30;
SELECT DEPARTMENT,AVG(CHARGES) FROM HOSPITAL WHERE DEPARTMENT IN
('ENT','CARDIOLOGY') GROUP BY DEPARTMENT;
SELECT COUNT(*) FROM HOSPITAL WHERE SEX='M';

Create HOSPITAL:
CREATE TABLE HOSPITAL (NO INT(5) PRIMARY KEY, NAME VARCHAR(30) NOT NULL, AGE
INT(3), DEPARTMENT VARCHAR(20) NOT NULL, DATEOFADM DATE, CHARGES
DECIMAL(7,2) CHECK (CHARGES>=0), SEX CHAR(1) DEFAULT 'M', DOCTOR_ID INT(4),
FOREIGN KEY(DOCTOR_ID) REFERENCES DOCTOR(D_ID));

Create DOCTOR:
CREATE TABLE DOCTOR (D_ID INT(3) PRIMARY KEY, DOCTOR_NAME VARCHAR(20) NOT
NULL, PHONE VARCHAR(10) UNIQUE, DATE_APPOINTMENT DATE);

INSERT examples:
INSERT INTO HOSPITAL
(NO,NAME,AGE,DEPARTMENT,DATEOFADM,CHARGES,SEX,DOCTOR_ID) VALUES
(1,'ARPIT',62,'SURGERY','1998-01-21',3000,'M',101);

UPDATE examples:
UPDATE HOSPITAL SET DEPARTMENT='RADIOLOGY' WHERE NAME='ZUBIN';

DELETE examples:
DELETE FROM HOSPITAL WHERE NAME='SHILPA';

ALTER examples:
ALTER TABLE HOSPITAL ADD COLUMN Contact_Address CHAR(30);
ALTER TABLE HOSPITAL MODIFY COLUMN NAME VARCHAR(30);
ALTER TABLE HOSPITAL MODIFY COLUMN Contact_Address CHAR(30) NOT NULL;

DROP:
DROP TABLE HOSPITAL;

GROUP BY examples:
SELECT DEPARTMENT,COUNT(*) FROM HOSPITAL GROUP BY DEPARTMENT;
SELECT DEPARTMENT,AVG(CHARGES) FROM HOSPITAL WHERE DEPARTMENT IN
('ENT','CARDIOLOGY') GROUP BY DEPARTMENT;
SELECT DEPARTMENT,MIN(DATEOFADM) FROM HOSPITAL GROUP BY DEPARTMENT
HAVING MIN(DATEOFADM)>'1998-02-22';

(All remaining sub-questions follow the same SQL logic shown.)

You might also like