Ex 1:
1.SELECT * FROM BOOK_INFORMATION;
2.SELECT * FROM BOOK_INFORMATION WHERE PRICE > 20;
3.SELECT * FROM BOOK_INFORMATION WHERE TITLE REGEXP ‘^A’
4.SELECT * FROM BOOK_INFORMATION ORDER BY PRICE desc;
5.INSERT INTO BOOK_INFORMATION (2345, ‘The Alchemist’, ‘10’);
6.DELETE FROM BOOK_INFORMATION WHERE BOOK_ID = 15;
7.UPDATE BOOK_INFORMATION SET PRICE = ‘40’ WHERE BOOK_TITLE = ‘DATABASE’;
8.SELECT * FROM BOOK_INFORMATION WHERE PRICE = (SELECT MAX(PRICE) FROM
BOOK_INFORMATION);
9. SELECT * FROM BOOK_INFORMATION WHERE PRICE BETWEEN 15 AND 20;
Ex 2:
1. SELECT COUNT(DISTINCT STORE_ID) AS NUM_STORES FROM SALES;
2. SELECT STORE_ID, SUM (SALES_AMOUNT) AS TOTAL_GOODS FROM SALES GROUP BY
STORE_ID;
3. SELECT STORE_ID, SUM(SALES_AMOUNT) FROM SALES GROUP BY STORE_ID HAVING
SUM(SALES_AMOUNT) > 6000;
4. SELECT SUM(SALES_AMOUNT) FROM SALES WHERE STORE_ID = ‘MN_2’;
5. SELECT MAX(SALES_DATE) FROM SALES WHERE STORE_ID = ‘MN_2’ AND
SALES_AMOUNT > 400;
Ex 3:
1. SELECT AVG(EXAM_SCORE) FROM EXAM_RESULTS WHERE EXAM_ID = 12;
2. SELECT COUNT(DISTINCT STUDENT_ID) FROM EXAM_RESULTS;
3. SELECT EXAM_SCORE FROM EXAM_RESULTS WHERE FIRST_NAME REGEXP ‘^A’ OR
LAST_NAME REGEXP ‘$A’
4. SELECT STUDENT_ID, FIRST_NAME, LAST_NAME FROM EXAM_RESULTS WHERE
EXAM_ID = 12 AND EXAM_SCORE > 90;
5. SELECT STUDENT_ID, FIRST_NAME, LAST_NAME, SUM(EXAM_SCORE) FROM
EXAM_RESULTS GROUP BY STUDENT_ID, FIRST_NAME, LAST_NAME HAVING
SUM(EXAM_SCORE) > 290;
Ex 4:
1. SELECT d.department_id, d.department_name, SUM(e.salary) FROM Departments d
INNER JOIN Employees e USING(department_id) GROUP BY d.department_id,
d.department_name HAVING SUM(e.salary) > 12000;
2. SELECT e.employee_id, e.first_name,e.last_name, d.department_name FROM
Employees LEFT JOIN Departments d ON e.department_id = d.department_id;
3. SELECT e.* FROM Employees e JOIN Departments d ON e.employee_id = d.manager_id;
4. SELECT d.department_id, d.department_name, MAX(e.salary) FROM Departments d
INNER JOIN Employees e USING(department_id) GROUP BY d.department_id,
d.department_name;
5. SELECT e.employee_id AS em_id,
e.first_name AS em_fname,
e.last_name AS em_lname,
m.employee_id AS mg_id,
m.first_name AS mg_fname,
m.last_name AS mg_lname
FROM Employees e
LEFT JOIN Departments d ON e.department_id = d.department_id
LEFT JOIN Employees m ON d.manager_id = m.employee_id;
6. SELECT d.department_name, COUNT(e.employee_id) FROM Departments d INNER JOIN
USING(Employees e) GROUP BY d.department_name ORDER BY COUNT(e.employee_id)
desc;
7. SELECT e.employee_id,
e.first_name,
e.last_name,
e.salary
FROM Employees e
ORDER BY e.salary DESC
LIMIT 3;
Ex 5:
1. SELECT * FROM Student;
2. SELECT name, hcode, class FROM Student WHERE class = ‘1A’;
3. SELECT dcode FROM Student WHERE hcode = ‘R’;
4. SELECT name FROM Student WHERE sex =’F’ AND class = ‘1B’;
5. SELECT name FROM Student WHERE sex =’F’ AND class IN (‘1A’, ‘1B’);
6. SELECT name FROM Student WHERE (sex = ‘F’ AND class = ‘1A’) OR (sex = ‘M’ AND class
= ‘1B’);
7. SELECT id, name FROM Student WHERE Remission = 'F' AND class = '1A';
8. SELECT * FROM Student WHERE EXTRACT(DAY FROM dob) = 26;
9. SELECT * FROM Student WHERE EXTRACT(MONTH FROM dob) NOT IN (1, 2, 5, 6, 9);
10. SELECT * FROM Student WHERE class = ‘1A’ AND mtest BETWEEN 80 AND 90;
11. SELECT class, SUM(id) AS total_stu FROM Student GROUP BY class;
12. SELECT class, AVG(mtest) AS avg_score FROM Student GROUP BY class;
13. SELECT dcode, COUNT(*) AS f_count FROM Student WHERE sex = 'F' GROUP BY dcode;
14. SELECT dcode, MAX(mtest), MIN(mtest) FROM Student GROUP BY dcode;
15. SELECT class, AVG(mtest) FROM Student WHERE sex = ‘M’ GROUP BY class HAVING
COUNT(id) >= 3;
16. SELECT name FROM Student WHERE male = ‘M’ AND class = ‘1A’ ORDER BY name;
17. SELECT name, dcode FROM Student WHERE class = ‘2A’ ORDER BY dcode;
18. SELECT dcode, COUNT(id) FROM Student GROUP BY dcode ORDER BY COUNT(id);
19. SELECT name, hcode, dcode, class FROM Student WHERE sex = ‘M’ ORDER BY dcode,
class;
1. SELECT DISTINCT s.sname FROM Student s
INNER JOIN Enrolled e USING(snum)
JOIN Class c ON e.cname = c.name
INNER JOIN Faculty f USING(fid)
WHERE s.level = 'JR' AND f.fname = 'I. Teach';
2. SELECT MAX(s.age) FROM Student s LEFT JOIN Enrolled e ON s.snum = e.snum LEFT JOIN
Class c ON e.cname = c.name LEFT JOIN Falculty f on c.fid = f.fid WHERE s.major =
‘History’ OR f.fname= ‘I.Teach’;
3. SELECT name FROM Class WHERE room = 'R128' UNION SELECT cname FROM Enrolled
GROUP BY cname HAVING COUNT(DISTINCT snum) >= 5;
4. SELECT s.sname FROM Student s
JOIN Enrolled e1 ON s.snum = e1.snum
JOIN Enrolled e2 ON s.snum = e2.snum
JOIN Class c1 ON e1.cName= c1.name
JOIN Clsas c2 ON e2.cname = c2.cname
WHERE c1.cname < c2.cname AND c1.meets_at = c2.meets_at;
5. SELECT f.name FROM Faculty f LEFT JOIN Class c ON f.fid = c.fid LEFT JOIN Enrolled e ON
c.name = e.cname GROUP BY f.fname HAING COUNT(e.snum) < 5;
6. SELECT level, AVG(age) FROM Student GROUP BY level;
7. SELECT level, AVG(age) FROM Student WHERE level <> ‘JR’ GROUP BY level;
8. SELECT DISTINCT s.sname FROM Student s LEFT JOIN Enrolled e ON s.snum = e.snum
WHERE e.snum IS NULL;
Ex 7:
1. SELECT a.name FROM Aircraft a INNER JOIN Certified c USING(aid) JOIN Employees e
USING(eid) GROUP BY a.name HAVING MIN(e.salary) > 80000;
2. SELECT c.eid, MAX(a.cruisingrange) FROM Aircraft a INNER JOIN Certified USING(aid)
GROUP BY (c.eid) HAVING COUNT(c.aid) >3;
3. SELECT aname FROM Employees WHERE eid IN (SELECT eid FROM Certified) AND salary
< (SELECT MIN(price) FROM Flights WHERE from = ‘Los Angeles’ AND to = ‘Honolulu’);
4. SELECT DISTINCT e.ename FROM Employees INNER JOIN Certified USING(eid) INNER
JOIN Aircraft USING (aid) WHERE aname LIKE ‘%Boeing%’;
5. SELECT e.ename FROM Employees e WHERE EXISTS (SELECT * FROM Certified c JOIN
Aircraft a ON c.aid = a.aid WHERE c.eid = e.eid AND a.cruisingrange > 3000) AND NOT
EXISTS (SELECT * FROM Certified c JOIN Aircraft a ON c.aid = a.aid WHERE c.eid = e.eid
AND a.aname LIKE '%Boeing%');
6. (SELECT departs FROM Flights WHERE from = 'Madison' AND to = 'New York' AND arrives
< '18:00:00') UNION
(SELECT F1.departs FROM Flights F1 JOIN Flights F2 ON F1.to = F2.from WHERE F1.from =
'Madison' AND F2.to = 'New York' AND F1.arrives <= F2.departs AND F2.arrives <
'18:00:00') UNION
(SELECT F1.departs FROM Flights F1 JOIN Flights F2 ON F1.to = F2.from JOIN Flights F3
ON F2.to = F3.from WHERE F1.from = 'Madison' AND F3.to = 'New York' AND F1.arrives
<= F2.departs AND F2.arrives <= F3.departs AND F3.arrives < '18:00:00') ORDER BY
departs;
7. SELECT ename, salary FROM Employees WHERE eid NOT IN (SELECT eid FROM Certified)
AND salary > ( SELECT AVG(salary) FROM Employees WHERE eid IN (SELECT eid FROM
Certified) );