The GATE Grind

GATE 2019 CS – Question 61

Databases · Relational Model: Relational Algebra, Tuple Calculus, SQL · 2 marks · Numerical answer

A relational database contains two tables Student and Performance as shown below:

Roll_no.Student_name
1Amit
2Priya
3Vinit
4Rohan
5Smita
Roll_no.Subject_codeMarks
1A86
1B95
1C90
2A89
2C92
3C80

The primary key of the Student table is Roll_no. For the Performance table, the columns Roll_no. and Subject_code together form the primary key. Consider the SQL query given below:

SELECT S.Student_name, sum(P.Marks)
FROM Student S, Performance P
WHERE P.Marks > 84
GROUP BY S.Student_name;

The number of rows returned by the above SQL query is ________.

Practise this question in The GATE Grind →

Show answer and explanation

Correct answer: 5

Explanation

There is no join condition, so the query takes the Cartesian product of Student with the Performance rows having marks above 84 (five rows). Every student pairs with these rows, so grouping by student name gives one group per student: 5 rows.