Engineering Questions with Answers - Multiple Choice Questions
Database MCQ – Aggregate Functions and Nested Subqueries – 2
SELECT dept_name, ID, avg (salary)
GROUP BY dept_name;
This statement IS erroneous because
a) Avg(salary) should not be selected
b) Dept_id should not be used in group by clause
c) Misplaced group by clause
d) Group by clause is not valid in this query
Explanation: Any attribute that is not present in the group by clause must appear only inside an aggregate function if it appears in the select clause, otherwise the query is treated as erroneous.
SQL applies predicates in the _______ clause after groups have been formed, so aggregate functions may be used.
a) Group by
Explanation: The with clause provides away of defining a temporary relation whose definition is available only to the query in which the with clause occurs.
Aggregate functions can be used in the select list or the_______clause of a select statement or subquery. They cannot be used in a ______ clause.
a) Where, having
b) Having, where
c) Group by, having
d) Group by, where
Explanation: To include aggregate functions having clause must be included after where.
The ________ keyword is used to access attributes of preceding tables or subqueries in the from clause.
Eg : SELECT name, salary, avg salary
FROM instructor I1, lateral (SELECT avg(salary) AS avg salary
FROM instructor I2
WHERE I2.dept name= I1.dept name);
Without the lateral clause, the subquery cannot access the correlation variable
I1 from the outer query.
Which of the following creates a temporary relation for the query on which it is defined?
Explanation: The with clause provides a way of defining a temporary relation whose definition is available only to the query in which the with clause occurs.
WITH max_budget (VALUE) AS
FROM department, max_budget
WHERE department.budget = MAX budget.value;
In the query given above which one of the following is a temporary relation?
Explanation: With clause creates a temporary relation.
a) Use group by or group functions
b) Retrieve data from a table different from the one in the outer query
c) Join tables
d) Appear in select, update, delete, insert statements.
Which of the following is not an aggregate function?
Explanation: With is used to create temporary relation and its not an aggregate function.
The EXISTS keyword will be true if:
a) Any row in the subquery meets the condition only
b) All rows in the subquery fail the condition only
c) Both of these two conditions are met
d) Neither of these two conditions is met
Explanation: EXISTS keyword checks for existance of a condition.
How can you find rows that do not match some specified condition?
b) Double use of NOT EXISTS
c) NOT EXISTS
d) None of the mentioned