Examine the structure of the MARKS table:
name Null Type
STUDENT_ID NOT NULL VARCHAR2(4)
STUDENT_NAME VARCHAR2(25)
SUBJECT1 NUMBER(3)
SUBJECT2 NUMBER(3)
SUBJECT3 NUMBER(3)
Which two statements would execute successfully? (Choose two.)
A.
SELECT student_name,subject1
FROM marks
WHERE subject1 > AVG(subject1);
B.
SELECT student_name,SUM(subject1)
FROM marks
WHERE student_name LIKE ‘R%’;
C.
SELECT SUM(subject1+subject2+subject3)
FROM marks
WHERE student_name IS NULL;
D.
SELECT SUM(DISTINCT NVL(subject1,0)), MAX(subject1)
FROM marks
WHERE subject1 > subject2;
hi ,
why is B incorrect?
student_name could stand next to sum only if student_name would be in group by statement
Why A is wrong?
because aggregate function is used in where clause
can anyone plz explain clearly why option b is incorrect
B is incorrect because if we are using aggregate function then we have to group by all the remaining columns that are in select statements.
so ‘group by student_name’ should be there.