wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

DAY 23-MySQL: Subqueries & Stored Procedures 10th July 24

Total questions: 10

Worksheet time: 5mins

Name
Class
Date
1.

Which query retrieves the names of students who have enrolled in 'Mathematics' using a subquery?

a)

SELECT name FROM students WHERE course = 'Mathematics';

b)

SELECT name FROM students WHERE id IN (SELECT student_id FROM enrollments

WHERE course = 'Mathematics');

c)

SELECT name FROM students WHERE id = (SELECT student_id FROM enrollments

WHERE course = 'Mathematics');

d)

SELECT name FROM students WHERE course_id = (SELECT id FROM courses WHERE

name = 'Mathematics');

2.

Which query creates a stored procedure named 'add_student' to insert a new student record?

a)

CREATE PROCEDURE add_student (IN id INT, IN name VARCHAR(100), IN age INT)

BEGIN INSERT INTO students (id, name, age) VALUES (id, name, age); END;

b)

CREATE PROCEDURE add_student (id INT, name VARCHAR(100), age INT) INSERT

INTO students (id, name, age) VALUES (id, name, age);

c)

CREATE PROCEDURE add_student (IN id INT, name VARCHAR(100), age INT) INSERT

INTO students (id, name, age) VALUES (id, name, age);

d)

CREATE PROCEDURE add_student (IN id INT, IN name VARCHAR(100), IN age INT)

INSERT INTO students (id, name, age) VALUES (id, name, age);

3.

Which query uses a subquery to find the average age of students and retrieves names of students older than this average age?

a)

SELECT name FROM students WHERE age > (SELECT AVG(age) FROM students);

b)

SELECT name FROM students WHERE age >AVG(age);

c)

SELECT name FROM students WHERE age >(SELECT AVERAGE(age) FROM students);

d)

SELECT name FROM students WHERE age >(SELECT MEAN(age) FROM students);

4.

Which query creates a stored procedure named 'get_student' to retrieve a student's details by their ID?

a)

CREATE PROCEDURE get_student (IN student_id INT) SELECT * FROM students WHERE

id = student_id;

b)

CREATE PROCEDURE get_student (IN student_id INT) BEGIN SELECT * FROM students

WHERE id = student_id; END;

c)

CREATE PROCEDURE get_student (student_id INT) BEGIN SELECT * FROM students

WHERE id = student_id; END;

d)

CREATE PROCEDURE get_student (IN student_id INT) SELECT * FROM students WHERE

id = student_id; END;

5.

Which query uses a subquery to retrieve the highest age from the 'students' table and displays it?

a)

SELECT MAX(age) FROM students;

b)

SELECT age FROM students WHERE age = (SELECT MAX(age) FROM students);

c)

SELECT age FROM students WHERE age IN (SELECT MAX(age) FROM students);

d)

SELECT MAX(age) FROM (SELECT age FROM students);

6.

Which query creates a stored procedure named 'delete_student' to delete a student record by their ID?

a)

CREATE PROCEDURE delete_student (student_id INT) DELETE FROM students WHERE

id = student_id;

b)

CREATE PROCEDURE delete_student (IN student_id INT) DELETE FROM students

WHERE id = student_id;

c)

CREATE PROCEDURE delete_student (IN student_id INT) BEGIN DELETE FROM students

WHERE id = student_id; END;

d)

CREATE PROCEDURE delete_student (IN student_id INT) BEGIN DELETE FROM students

WHERE id = student_id;

7.

Which query uses a subquery to find all students enrolled in courses with 'Science' in their name?

a)

SELECT name FROM students WHERE course LIKE '%Science%';

b)

SELECT name FROM students WHERE id IN (SELECT student_id FROM enrollments

WHERE course_id IN (SELECT id FROM courses WHERE name LIKE '%Science%'));

c)

SELECT name FROM students WHERE id IN (SELECT student_id FROM enrollments

WHERE course_id = (SELECT id FROM courses WHERE name LIKE '%Science'));

d)

SELECT name FROM students WHERE id IN (SELECT student_id FROM enrollments

WHERE course_name LIKE '%Science%');

8.

Which query creates a stored procedure named 'update_student_age' to update a student's age by their ID?

a)

CREATE PROCEDURE update_student_age (student_id INT, new_age INT) UPDATE

students SET age = new_age WHERE id = student_id;

b)

CREATE PROCEDURE update_student_age (IN student_id INT, IN new_age INT) UPDATE

students SET age = new_age WHERE id = student_id;

c)

CREATE PROCEDURE update_student_age (IN student_id INT, IN new_age INT) BEGIN

UPDATE students SET age = new_age WHERE id = student_id; END;

d)

CREATE PROCEDURE update_student_age (IN student_id INT, new_age INT) BEGIN

UPDATE students SET age = new_age WHERE id = student_id; END;

9.

Which query uses a subquery to find students who are not enrolled in any course?

a)

SELECT name FROM students WHERE id NOT IN (SELECT student_id FROM

enrollments);

b)

SELECT name FROM students WHERE id NOT IN (SELECT id FROM enrollments);

c)

SELECT name FROM students WHERE id NOT IN (SELECT student_id FROM courses);

d)

SELECT name FROM students WHERE id NOT IN (SELECT course_id FROM enrollments);

10.

Which query creates a stored procedure named 'get_course_students' to retrieve students enrolled in a specific course by course ID?

a)

CREATE PROCEDURE get_course_students (course_id INT) SELECT name FROM

students WHERE id IN (SELECT student_id FROM enrollments WHERE course_id =

course_id);

b)

CREATE PROCEDURE get_course_students (IN course_id INT) BEGIN SELECT name

FROM students WHERE id IN (SELECT student_id FROM enrollments WHERE course_id =

course_id); END;

c)

CREATE PROCEDURE get_course_students (IN course_id INT) SELECT name FROM

students WHERE id IN (SELECT student_id FROM enrollments WHERE course_id =

course_id);

d)

CREATE PROCEDURE get_course_students (IN course_id INT) BEGIN SELECT name

FROM students WHERE id IN (SELECT student_id FROM enrollments WHERE course_id =

course_id);