0% found this document useful (0 votes)
209 views19 pages

Mid Term Ex Semester 2 Part 2

The document provides a summary of a test on SQL concepts related to aggregation functions, grouping, and subqueries. It consists of multiple choice questions with feedback on answers. Key points covered include: - ROLLUP is used to produce subtotal values. - GROUPING functions are used to identify extra row values created by ROLLUP or CUBE. - GROUP BY clauses are required when select lists include both columns and aggregation functions. - HAVING clauses restrict grouped rows based on aggregation functions. - Subqueries can return single or multiple rows for comparison operators.

Uploaded by

Kasa Ferenc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
209 views19 pages

Mid Term Ex Semester 2 Part 2

The document provides a summary of a test on SQL concepts related to aggregation functions, grouping, and subqueries. It consists of multiple choice questions with feedback on answers. Key points covered include: - ROLLUP is used to produce subtotal values. - GROUPING functions are used to identify extra row values created by ROLLUP or CUBE. - GROUP BY clauses are required when select lists include both columns and aggregation functions. - HAVING clauses restrict grouped rows based on aggregation functions. - Subqueries can return single or multiple rows for comparison operators.

Uploaded by

Kasa Ferenc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Test: Mid Term Exam Semester 2 Part 2

Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Section 5
(Answer all questions in this section)
1. You use ROLLUP to:

Mark for
Review
(1) Points

produce subtotal values (*)


cross-tabulate values
produce a single result set
Correct
2. You use GROUPING functions to:

Mark for
Review
(1) Points

Produce subtotal and cross-tabulated values


Identify the extra row values created by either a ROLLUP or CUBE
operation (*)
Aggregate rows using SUM, MIN, MAX, and COUNT
Correct
3. GROUPING SETS is another extension to the GROUP BY clause and is used to
specify multiple groupings of data but provide a single result set. True or
False?

Mark for
Review
(1) Points

True (*)
False
Correct
4. You use GROUPING functions to ______ database rows from tabulated rows.

Mark for
Review
(1) Points

CREATE

DISTINGUISH (*)
COMPUTE
COUNT
Correct
5. When using SET operators, the number of columns and the data types of the
columns must be identical in all of the SELECT statements used in the query.
True or False.

Mark for
Review
(1) Points

True (*)
False
Correct
6. The ___________ operator returns all rows from both tables, after eliminating
duplicates.

Mark for
Review
(1) Points

UNION (*)
UNION ALL
INTERSECT
MINUS
Correct
7. What will the following SQL Statement do?
SELECT job_id, COUNT(*)
FROM employees
GROUP BY job_id;

Mark for
Review
(1) Points

Displays all the employees and groups them by job


Displays each job id and the number of people assigned to that job id
(*)
Displays only the number of job_ids
Displays all the jobs with as many people as there are jobs
Correct
8. The PRODUCTS table contains these columns:
PRODUCT_ID NUMBER(9) PK

Mark for

CATEGORY_ID VARCHAR2(10)
LOCATION_ID NUMBER(9)
DESCRIPTION VARCHAR2(30)
COST NUMBER(7,2)
PRICE NUMBER(7,2)
QUANTITY NUMBER

Review
(1) Points

You display the total of the extended costs for each product category by
location.
You need to include only the products that have a price less than $25.00.
The extended cost of each item equals the quantity value multiplied by the
cost value.
Which SQL statement will display the desired result?

SELECT category_id, SUM(cost * quantity) TOTAL,location_id


FROM products
WHERE price > 25.00
GROUP BY category_id, location_id;
SELECT SUM(cost * quantity) TOTAL, location_id
FROM products
WHERE price < 25.00
GROUP BY location_id;
SELECT category_id, SUM(cost * quantity) TOTAL, location_id
FROM products
WHERE price < 25.00
GROUP BY category_id, location_id;
(*)
SELECT SUM(cost * quantity) TOTAL
FROM products
WHERE price < 25.00;
Incorrect. Refer to Section 5 Lesson 1.
9. Which statement about the GROUP BY clause is true?

Mark for
Review
(1) Points

To exclude rows before dividing them into groups using the GROUP BY
clause, you should use a WHERE clause. (*)
You can use a column alias in a GROUP BY clause.
By default, rows are not sorted when a GROUP BY clause is used.
You must use the HAVING clause with the GROUP BY clause.
Correct
10. The PAYMENT table contains these columns:
PAYMENT_ID NUMBER(9) PK
PAYMENT_DATE DATE

Mark for
Review
(1) Points

CUSTOMER_ID NUMBER(9)
Which SELECT statement could you use to display the number of times each
customer payment was made between January 1, 2003 and June 30, 2003 ?

SELECT customer_id, COUNT(payment_id)


FROM payment
WHERE payment_date BETWEEN '01-JAN-2003' AND '30-JUN-2003'
GROUP BY customer_id;
(*)
SELECT COUNT(payment_id)
FROM payment
WHERE payment_date BETWEEN '01-JAN-2003' AND '30-JUN-2003';
SELECT customer_id, COUNT(payment_id)
FROM payment
WHERE payment_date BETWEEN '01-JAN-2003' AND '30-JUN-2003';
SELECT COUNT(payment_id)
FROM payment
WHERE payment_date BETWEEN '01-JAN-2003' AND '30-JUN-2003'
GROUP BY customer_id;
Correct
Section 5
(Answer all questions in this section)
11. Evaluate this SELECT statement:
SELECT SUM(salary), department_id, manager_id
FROM employees
GROUP BY department_id, manager_id;

Mark for
Review
(1) Points

Which SELECT clause allows you to restrict the rows returned, based on a
group function?

HAVING SUM(salary) > 100000 (*)


WHERE SUM(salary) > 100000
WHERE salary > 100000
HAVING salary > 100000
Correct
12. Evaluate this SELECT statement:
SELECT MAX(salary), department_id
FROM employees
GROUP BY department_id;

Mark for
Review
(1) Points

Which values are displayed?

The highest salary for all employees


The highest salary in each department (*)
The employees with the highest salaries
The employee with the highest salary for each department
Correct
13. You want to write a report that returns the average salary of all employees
in the company, sorted by departments.
The EMPLOYEES table contains the following columns:
EMPLOYEES:
EMP_ID NUMBER(10) PRIMARY KEY
LNAME VARCHAR2(20)
FNAME VARCHAR2(20)
DEPT VARCHAR2(20)
HIRE_DATE DATE
SALARY NUMBER(10)

Mark for
Review
(1) Points

Which SELECT statement will return the information that you require?

SELECT salary(AVG), dept


FROM employees
GROUP BY dept;
SELECT dept, AVG(salary)
FROM employees
GROUP BY dept;
(*)
SELECT AVG (salary)
FROM employees
BY dept;
SELECT AVG salary
FROM employees
BY dept;
Correct
14. If a select list contains both a column as well as a group function then what
clause is required?

Mark for
Review
(1) Points

HAVING clause
JOIN clause

ORDER BY clause
GROUP BY clause (*)
Correct
15. Which statement about group functions is true?

Mark for
Review
(1) Points

Group functions ignore null values. (*)


Group functions can only be used in a SELECT list.
Group functions can be used in a WHERE clause.
A query that includes a group function in the SELECT list must include a
GROUP BY clause.
Correct
16. The PLAYERS table contains these columns:
PLAYER_ID NUMBER PK
PLAYER_NAME VARCHAR2 (30)
TEAM_ID NUMBER
HIRE_DATE DATE
SALARY NUMBER (8,2)

Mark for
Review
(1) Points

Which clauses represent valid uses of aggregate functions? (Choose three.)

(Choose all correct answers)


ORDER BY AVG(salary) (*)
GROUP BY MAX(salary)
SELECT AVG(NVL(salary, 0)) (*)
HAVING MAX(salary) > 10000 (*)
WHERE hire_date > AVG(hire_date)
Incorrect. Refer to Section 5 Lesson 1.
17. Evaluate this SELECT statement:
SELECT COUNT(employee_id), department_id
FROM employees
GROUP BY department_id;
You only want to include employees who earn more than 15000.
Which clause should you include in the SELECT statement?

Mark for
Review
(1) Points

WHERE salary > 15000 (*)


HAVING salary > 15000
WHERE SUM(salary) > 15000
HAVING SUM(salary) > 15000
Correct
18. What is the correct order of clauses in a SELECT statement?

Mark for
Review
(1) Points

SELECT
FROM
WHERE
ORDER BY
GROUP BY
HAVING
SELECT
FROM
HAVING
GROUP BY
WHERE
ORDER BY
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
(*)
SELECT
FROM
WHERE
HAVING
ORDER BY
GROUP BY
Correct
19. The PRODUCTS table contains these columns:
PROD_ID NUMBER(4)
PROD_NAME VARCHAR(20)
PROD_CAT VARCHAR2(15)
PROD_PRICE NUMBER(5)
PROD_QTY NUMBER(4)
You need to identify the minimum product price in each product category.
Which statement could you use to accomplish this task?

Mark for
Review
(1) Points

SELECT prod_cat, MIN (prod_price)


FROM products
GROUP BY prod_price;
SELECT prod_cat, MIN (prod_price)
FROM products
GROUP BY prod_cat;
(*)
SELECT MIN (prod_price), prod_cat
FROM products
GROUP BY MIN (prod_price), prod_cat;
SELECT prod_price, MIN (prod_cat)
FROM products
GROUP BY prod_cat;
Correct

Section 6
(Answer all questions in this section)
20. Which statement about the <> operator is true?

Mark for
Review
(1) Points

The <> operator is NOT a valid SQL operator.


The <> operator CANNOT be used in a single-row subquery.
The <> operator returns the same result as the ANY operator in a
subquery.
The <> operator can be used when a single-row subquery returns only
one row. (*)
Correct
Section 6
(Answer all questions in this section)
21. If a single-row subquery returns a null value and uses the equality
comparison operator, what will the outer query return?

Mark for
Review
(1) Points

No rows (*)
All the rows in the table
A null value
An error

Correct
22. Which best describes a multiple-row subquery?

Mark for
Review
(1) Points

A query that returns only one row from the inner SELECT statement
A query that returns one or more rows from the inner SELECT statement
(*)
A query that returns only one column value from the inner SELECT
statement
A query that returns one or more column values from the inner SELECT
statement
Correct
23. Evaluate the structure of the EMPLOYEES and DEPART_HIST tables:
EMPLOYEES
EMPLOYEE_ID NUMBER(9)
LAST_NAME VARCHAR2(25)
FIRST_NAME VARCHAR2(25)
DEPARTMENT_ID NUMBER(9)
MANAGER_ID NUMBER(9)
SALARY NUMBER(7,2)
DEPART_HIST:
EMPLOYEE_ID NUMBER(9)
OLD_DEPT_ID NUMBER(9)
NEW_DEPT_ID NUMBER(9)
CHANGE_DATE DATE
You want to generate a list of employees who are in department 10, but
used to be in department 15. Which query should you use?

SELECT employee_id, last_name, first_name, department_id


FROM employees
WHERE (employee_id, department_id) IN
(SELECT employee_id, new_dept_id
FROM depart_hist
WHERE old_dept_id = 15) AND new_dept_id = 10;
(*)
SELECT employee_id, last_name, first_name, department_id
FROM employees
WHERE (employee_id) IN
(SELECT employee_id
FROM employee_hist
WHERE old_dept_id = 15);
SELECT employee_id, last_name, first_name, department_id
FROM employees
WHERE (employee_id, department_id) =

Mark for
Review
(1) Points

(SELECT employee_id, new_dept_id


FROM depart_hist
WHERE new_dept_id = 15);
SELECT employee_id, last_name, first_name, department_id
FROM employees
WHERE (employee_id, department_id) IN
(SELECT employee_id, dept_id
FROM employees
WHERE old_dept_id = 15);
Correct
24. Which statement about the ANY operator, when used with a multiple-row
subquery, is true?

Mark for
Review
(1) Points

The ANY operator compares every value returned by the subquery. (*)
The ANY operator can be used with the DISTINCT keyword.
The ANY operator is a synonym for the ALL operator.
The ANY operator can be used with the LIKE and IN operators.
Correct
25. A correlated subquery will _______ a candidate row from an outer query,
_______ the inner query using candidate row value, and _______ values from
the inner query to qualify or disqualify the candidate row.

Mark for
Review
(1) Points

CREATE; EXECUTE; USE


DELETE; UPDATE; INSERT
GET; EXECUTE; USE (*)
ROLLUP; GRANT; DROP
Correct
26. The Oracle server performs a correlated subquery when the subquery
references a column from a table referred to in the parent. True or False?

Mark for
Review
(1) Points

True (*)
False
Correct

27. The WITH clause enables a SELECT statement to define the subquery block
at the start of the query, process the block just once, label the results, and
then refer to the results multiple times. True or False?

Mark for
Review
(1) Points

True (*)
False
Correct
28. Which statement is false?

Mark for
Review
(1) Points

The WITH clause retrieves the results of one or more query blocks.
The WITH clause decreases performance. (*)
The WITH clause makes the query simple to read.
The WITH clause stores the results for the user who runs the query.
Correct
29. Which operator can be used with subqueries that return only one row?

Mark for
Review
(1) Points

LIKE (*)
ANY
ALL
IN
Correct
30. The EMPLOYEES and ORDERS tables contain these columns:
EMPLOYEES
EMPLOYEE_ID NUMBER(10) NOT NULL PRIMARY KEY
FIRST_NAME VARCHAR2(30)
LAST_NAME VARCHAR2(30)
ADDRESS VARCHAR2(25)
CITY VARCHAR2(20)
STATE VARCHAR2(2)
ZIP NUMBER(9)
TELEPHONE NUMBER(10)
ORDERS

Mark for
Review
(1) Points

ORDER_ID NUMBER(10) NOT NULL PRIMARY KEY


EMPLOYEE_ID NUMBER(10) NOT NULL FOREIGN KEY
ORDER_DATE DATE
TOTAL NUMBER(10)
Which SELECT statement will return all orders generated by a sales
representative named Franklin during the year 2001?

SELECT order_id, total


FROM ORDERS (SELECT employee_id
FROM employees
WHERE last_name = 'Franklin')
WHERE order_date BETWEEN '01-jan-2001' AND '31-dec-2001';
SELECT (SELECT employee_id FROM employees WHERE last_name =
'Franklin') AND order_id, total
FROM ORDERS
WHERE order_date BETWEEN '01-jan-2001' AND '31-dec-2001';
SELECT order_id, employee_id, total
FROM ORDERS
WHERE order_date BETWEEN '01-jan-2001' AND '31-dec-2001' AND
emp_id = 'Franklin';
SELECT order_id, total
FROM ORDERS
WHERE employee_id = (SELECT employee_id FROM employees WHERE
last_name = 'Franklin')
AND order_date BETWEEN '01-jan-2001' AND '31-dec-2001';
(*)

Correct
Section 6
(Answer all questions in this section)
31. Examine the structures of the CUSTOMER and ORDER_HISTORY tables:
CUSTOMER
CUSTOMER_ID NUMBER(5)
NAME VARCHAR2(25)
CREDIT_LIMIT NUMBER(8,2)
OPEN_DATE DATE
ORDER_HISTORY
ORDER_ID NUMBER(5)
CUSTOMER_ID NUMBER(5)
ORDER_DATE DATE
TOTAL NUMBER(8,2)
Which of the following scenarios would require a subquery to return the
desired results?

You need to display the date each customer account was opened.

Mark for
Review
(1) Points

You need to display each date that a customer placed an order.


You need to display all the orders that were placed on a certain date.
You need to display all the orders that were placed on the same day as
order number 25950. (*)
Correct
32. You need to create a report to display the names of products with a cost
value greater than the average cost of all products. Which SELECT
statement should you use?

Mark for
Review
(1) Points

SELECT product_name
FROM products
WHERE cost > (SELECT AVG(cost)
FROM products);
(*)
SELECT product_name
FROM products
WHERE cost > AVG(cost);
SELECT AVG(cost), product_name
FROM products
WHERE cost > AVG(cost)
GROUP by product_name;
SELECT product_name
FROM (SELECT AVG(cost) FROM product)
WHERE cost > AVG(cost);
Correct
33. Which statement about subqueries is true?

Mark for
Review
(1) Points

Subqueries should be enclosed in double quotation marks.


Subqueries cannot contain group functions.
Subqueries are often used in a WHERE clause to return values for an
unknown conditional value. (*)
Subqueries generally execute last, after the main or outer query
executes.
Correct
34. If you use the equality operator (=) with a subquery, how many values can
the subquery return?

Mark for
Review
(1) Points

Only 1 (*)

Up to 2
Up to 5
Unlimited
Correct
35. Using a subquery in which clause will return a syntax error?

Mark for
Review
(1) Points

WHERE
FROM
HAVING
You can use subqueries in all of the above clauses. (*)
Correct
36. Which operator can be used with a multiple-row subquery?

Mark for
Review
(1) Points

IN (*)
<>
=
LIKE
Correct

Section 7
(Answer all questions in this section)
37. You need to remove a row from the EMPLOYEES table. Which statement
would you use?

Mark for
Review
(1) Points

UPDATE with a WHERE clause


INSERT with a WHERE clause
DELETE with a WHERE clause (*)
MERGE with a WHERE clause

Correct
38. What keyword in an UPDATE statement speficies the column that you want
to change?

Mark for
Review
(1) Points

SELECT
WHERE
SET (*)
HAVING
Correct
39. You need to update the area code of employees that live in Atlanta.
Evaluate this partial UPDATE statement:
UPDATE employee
SET area_code = 770

Mark for
Review
(1) Points

Which of the following should you include in your UPDATE statement to


achieve the desired results?

UPDATE city = Atlanta;


SET city = 'Atlanta';
WHERE city = 'Atlanta'; (*)
LIKE 'At%';
Correct
40. One of the sales representatives, Janet Roper, has informed you that she
was recently married, and she has requested that you update her name in
the employee database. Her new last name is Cooper. Janet is the only
person with the last name of Roper that is employed by the company. The
EMPLOYEES table contains these columns and all data is stored in
lowercase:
EMPLOYEE_ID NUMBER(10) PRIMARY KEY
LAST_NAME VARCHAR2(20)
FIRST_NAME VARCHAR2(20)
DEPARTMENT_ID VARCHAR2 (20)
HIRE_DATE DATE
SALARY NUMBER(10)
Which UPDATE statement will accomplish your objective?

UPDATE employees
SET last_name = 'cooper'

Mark for
Review
(1) Points

UPDATE employees last_name = 'cooper'


WHERE last_name = 'roper';
UPDATE employees
SET last_name = 'roper'
WHERE last_name = 'cooper';
UPDATE employees
SET cooper = 'last_name'
WHERE last_name = 'roper';
Correct

Section 7
(Answer all questions in this section)
41. You need to update the expiration date of products manufactured before
June 30th . In which clause of the UPDATE statement will you specify this
condition?

Mark for
Review
(1) Points

The ON clause
The WHERE clause (*)
The SET clause
The USING clause
Correct
42. Which two commands can be used to modify existing data in a database
row?

Mark for
Review
(1) Points

(Choose all correct answers)


DELETE
MERGE (*)
SELECT
UPDATE (*)
Correct
43. The PLAYERS table contains these columns:
PLAYER_ID NUMBER NOT NULL
PLAYER_LNAME VARCHAR2(20) NOT NULL
PLAYER_FNAME VARCHAR2(10) NOT NULL
TEAM_ID NUMBER
SALARY NUMBER(9,2)

Mark for
Review
(1) Points

You need to increase the salary of each player for all players on the Tiger
team by 12.5 percent. The TEAM_ID value for the Tiger team is 5960. Which
statement should you use?

UPDATE players (salary)


SET salary = salary * 1.125;
UPDATE players
SET salary = salary * .125
WHERE team_id = 5960;
UPDATE players
SET salary = salary * 1.125
WHERE team_id = 5960;
(*)
UPDATE players (salary)
VALUES(salary * 1.125)
WHERE team_id = 5960;
Incorrect. Refer to Section 7 Lesson 2.
44. When the WHERE clause is missing in a DELETE statement, what is the
result?

Mark for
Review
(1) Points

All rows are deleted from the table. (*)


The table is removed from the database.
An error message is displayed indicating incorrect syntax.
Nothing. The statement will not execute.
Correct
45. You need to add a row to an existing table. Which DML statement should
you use?

Mark for
Review
(1) Points

UPDATE
INSERT (*)
DELETE
CREATE
Correct

46. Using the INSERT statement and assuming that a column can accept null
values, how can you insert a null value in a column?

Mark for
Review
(1) Points

Use the ON clause


Omit the column in the column list. (*)
It is not possible to implicitly insert a null value in a column.
Correct
47. You have been instructed to add a new customer to the CUSTOMERS table.
Because the new customer has not had a credit check, you should not add
an amount to the CREDIT column.
The CUSTOMERS table contains these columns:

Mark for
Review
(1) Points

CUST_ID NUMBER(10)
COMPANY VARCHAR2(30)
CREDIT NUMBER(10)
POC VARCHAR2(30)
LOCATION VARCHAR2(30)
Which two INSERT statements will accomplish your objective?

(Choose all correct answers)


INSERT INTO customers (cust_id, company, poc, location)
VALUES (200, 'InterCargo', 'tflanders', 'samerica');
(*)
INSERT INTO customers
VALUES (200, 'InterCargo', null, 'tflanders', 'samerica');
(*)
INSERT INTO customers
VALUES (cust_id, company, credit, poc, location) (200, 'InterCargo', 0,
'tflanders', 'samerica');
INSERT INTO customers
VALUES (200, InterCargo, 0, tflanders, samerica);
Correct
48. You need to copy rows from the EMPLOYEE table to the EMPLOYEE_HIST
table. What could you use in the INSERT statement to accomplish this task?

Mark for
Review
(1) Points

An ON clause

A SET clause
A subquery (*)
A function
Correct
49. Multi-table inserts are used when the same source data should be inserted
into _____________ target table.

Mark for
Review
(1) Points

Ten
A very large
More than one (*)
A data warehouse
Correct
50. A DEFAULT value can be specified for a column when the table is created.
True or false?

Mark for
Review
(1) Points

True (*)
False
Correct

You might also like