Mid Programare
Mid Programare
Semester 2 Mid Term Exam covers Sections 1-4 of Database Programming with SQL. Section 3 1. Which two sets of join eywords create a join that will include unmatched rows from the first table specified in the SELECT statement? (1) Points LEFT OUTER JOIN and FULL OUTER JOIN (*) RIGHT OUTER JOIN and LEFT OUTER JOIN USING and HAVING OUTER JOIN and USING
2. You need to join the EMPLOYEE_HIST and EMPLOYEES tables. The EMPLOYEE_HIST table will be the first table in the FROM clause. All the matched and unmatched rows in the EMPLOYEES table need to be displayed. Which type of join will you use? (1) Points A cross join An inner join A left outer join A right outer join (*)
3. Which query will retrieve all the rows in the EMPLOYEES table, even if there is no match in the DEPARTMENTS table? SELECT e.last_name, e.department_id, d.department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id); SELECT e.last_name, e.department_id, d.department_name FROM employees e NATURAL JOIN departments d; SELECT e.last_name, e.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id); (*) SELECT e.last_name, e.department_id, d.department_name
4. Below find the structures of the PRODUCTS and VENDORS tables: PRODUCTS PRODUCT_ID NUMBER PRODUCT_NAME VARCHAR2 (25) VENDOR_ID NUMBER CATEGORY_ID NUMBER VENDORS VENDOR_ID NUMBER VENDOR_NAME VARCHAR2 (25) ADDRESS VARCHAR2 (30) CITY VARCHAR2 (25) REGION VARCHAR2 (10) POSTAL_CODE VARCHAR2 (11) You want to create a query that will return an alphabetical list of products, including the product name and associated vendor name, for all products that have a vendor assigned. Which two queries could you use? (1) Points (Choose all correct answers) SELECT p.product_name, v.vendor_name FROM products p LEFT OUTER JOIN vendors v ON p.vendor_id = v.vendor_id ORDER BY p.product_name; SELECT p.product_name, v.vendor_name FROM products p JOIN vendors v ON (vendor_id) ORDER BY p.product_name; SELECT p.product_name, v.vendor_name FROM products p NATURAL JOIN vendors v ORDER BY p.product_name; (*) SELECT p.product_name, v.vendor_name FROM products p JOIN vendors v USING (p.vendor_id) ORDER BY p.product_name; SELECT p.product_name, v.vendor_name FROM products p JOIN vendors v USING (vendor_id)
You need to perform a join of the CUSTOMER and ORDER tables but limit the nu mber of columns in the join condition. (*) The ORDER table contains a column that has a referential constraint to a col umn in the PRODUCT table. The CUSTOMER and ORDER tables have no columns with identical names. The CUSTOMER and ORDER tables have a corresponding column, CUST_ID. The CUST_ID column in the ORDER table contains null values that need to be d isplayed.
6. Which eyword in a SELECT statement creates an equijoin by specifying a co lumn name common to both tables? (1) Points A HAVING clause The FROM clause The SELECT clause A USING clause (*) 7. Evaluate this SELECT statement: SELECT a.lname || ', ' || a.fname as "Patient", b.lname || ', ' || b.fname as "P hysician", c.admission FROM patient a JOIN physician b ON (b.physician_id = c.physician_id) JOIN admission c ON (a.patient_id = c.patient_id); Which clause generates an error? (1) Points JOIN physician b ON (b.physician_id = c.physician_id); (*) JOIN admission c ON (a.patient_id = c.patient_id) 8. The primary advantages of using JOIN ON is: (Select two) (1) Points (Choose all correct answers)
5. For which condition would you use an equijoin query with the USING ? (1) Points
eyword
The join happens automatically based on matching column names and data type s. It will display rows that do not meet the join condition. It permits columns with different names to be joined. (*) It permits columns that don?t have matching data types to be joined. (*) 9. You created the CUSTOMERS and ORDERS tables by issuing these CREATE TABLE statements in sequence: CREATE TABLE customers (custid varchar2(5), companyname varchar2(30), contactname varchar2(30), address varchar2(30), city varchar2(20), state varchar2(30), phone varchar2(20), constraint p _customers_01 primary ey (custid)); CREATE TABLE orders (orderid varchar2(5) constraint p _orders_01 primary ey, orderdate date, total number(15), custid varchar2(5) references customers (custid)); You have been instructed to compile a report to present the information about or ders placed by customers who reside in Nashville. Which query should you issue to ach ieve the desired results? (1) Points SELECT custid, companyname FROM customers WHERE city = 'Nashville'; SELECT orderid, orderdate, total FROM orders o NATURAL JOIN customers c ON o.custid = c.custid WHERE city = 'Nashville'; SELECT orderid, orderdate, total FROM orders o JOIN customers c ON o.custid = c.custid WHERE city = 'Nashville'; (*) SELECT orderid, orderdate, total FROM orders WHERE city = 'Nashville'; 10. Which of the following statements is the simplest description of a nonequ
ijoin? (1) Points A join condition containing something other than an equality operator (*) A join condition that is not equal to other joins. A join condition that includes the (+) on the left hand side. A join that joins a table to itself Page 1 of 5 Next Summary
Section 3 (Answer all questions in this section) 11. Which SELECT statement implements a self join? (1) Points SELECT p.part_id, t.product_id FROM part p, part t WHERE p.part_id = t.product_id; (*) SELECT p.part_id, t.product_id FROM part p, product t WHERE p.part_id = t.product_id; SELECT p.part_id, t.product_id FROM part p, product t WHERE p.part_id = t.product_id (+); SELECT p.part_id, t.product_id FROM part p, product t WHERE p.part_id =! t.product_id; 12. Evaluate this SELECT statement: SELECT * FROM employee e, employee m WHERE e.mgr_id = m.emp_id; Which type of join is created by this SELECT statement? (1) Points a self join (*) a cross join a left outer join a full outer join
13. Which statement about a self join is true? (1) Points The NATURAL JOIN clause must be used. Table aliases must be used to qualify table names. (*) Table aliases cannot be used to qualify table names. A self join must be implemented by defining a view. Section 4 (Answer all questions in this section) 14. The PRODUCTS table contains these columns: PROD_ID NUMBER(4) PROD_NAME VARCHAR2(30) PROD_CAT VARCHAR2(30) PROD_PRICE NUMBER(3) PROD_QTY NUMBER(4) The following statement is issued: SELECT AVG(prod_price, prod_qty) FROM products; What happens when this statement is issued? (1) Points Both the average price and the average quantity of the products are returned . Only the average quantity of the products is returned. The values in the PROD_PRICE column and the PROD_QTY column are averaged tog ether. An error occurs. (*) 15. Which group function would you use to display the highest salary value in the EMPLOYEES table? Mar for Review (1) Points AVG COUNT MAX (*) MIN
16. The EMPLOYEES table contains these columns: EMPLOYEE_ID NUMBER(9) LAST_NAME VARCHAR2(20) FIRST_NAME VARCHAR2(20)
SALARY NUMBER(9,2) HIRE_DATE DATE BONUS NUMBER(7,2) COMM_PCT NUMBER(4,2) Which three functions could be used with the HIRE_DATE, LAST_NAME, or SALARY col umns? (Choose three.) (1) Points (Choose all correct answers) MAX (*) SUM AVG MIN (*) COUNT (*) 17. The CUSTOMER table contains these columns: CUSTOMER_ID NUMBER(9) FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(30) CREDIT_LIMIT NUMBER (7,2) CATEGORY VARCHAR2(20) You need to calculate the average credit limit for all the customers in each cat egory. The average should be calculated based on all the rows in the table exclu ding any customers who have not yet been assigned a credit limit value. Which group function should you use to calculate this value? (1) Points AVG (*) SUM COUNT STDDEV 18. Which group function would you use to display the total of all salary val ues in the EMPLOYEES table? (1) Points SUM (*) AVG COUNT MAX 19. You need to calculate the average salary of employees in each department.
Which group function will you use? (1) Points AVG (*) MEAN MEDIAN AVERAGE 20. You need to calculate the standard deviation for the cost of products pro duced in the Birmingham facility. Which group function will you use? (1) Points STDEV STDDEV (*) VAR_SAMP VARIANCE Previous Page 2 of 5 Next Summary Section 4 (Answer all questions in this section) 21. Evaluate this SELECT statement: SELECT COUNT(*) FROM products; Which statement is true? (1) Points The number of rows in the table is displayed. (*) The number of unique PRODUCT_IDs in the table is displayed. An error occurs due to an error in the SELECT clause. An error occurs because no WHERE clause is included in the SELECT statement.
22. Evaluate this SQL statement: SELECT COUNT (amount) FROM inventory; What will occur when the statement is issued? (1) Points The statement will return the greatest value in the INVENTORY table. The statement will return the total number of rows in the AMOUNT column. The statement will replace all NULL values that exist in the AMOUNT column.
The statement will count the number of rows in the INVENTORY table where the AMOUNT column is not null. (*)
23. Which SELECT statement will calculate the number of rows in the PRODUCTS table? (1) Points SELECT COUNT(products); SELECT COUNT FROM products; SELECT COUNT (*) FROM products; (*) SELECT ROWCOUNT FROM products;
24. The STYLES table contains this data: STYLE_ID STYLE_NAME CATEGORY COST 895840 SANDAL 85940 12.00 968950 SANDAL 85909 10.00 869506 SANDAL 89690 15.00 809090 LOAFER 89098 10.00 890890 LOAFER 89789 14.00 857689 HEEL 85940 11.00 758960 SANDAL 86979 You issue this SELECT statement: SELECT COUNT(category) FROM styles; Which value is displayed? Mar for Review (1) Points 0 6 7 (*) The statement will NOT execute successfully. Section 2 (Answer all questions in this section) 25. If you use the RR format when writing a query using the date 27-OCT-17 an d the year is 2001, what year would be the result? (1) Points 2001 1901
2017 (*) 1917 26. All Human Resources data is stored in a table named EMPLOYEES. You have been as ed to create a report that displays each employee's name and sa lary. Each employee's salary must be displayed in the following format: $000,000.00. Which function should you include in a SELECT statement to achieve the desired result? (1) Points TO_CHAR (*) TO_DATE TO_NUMBER CHARTOROWID 27. The EMPLOYEES table contains these columns: EMPLOYEE_ID NUMBER(9) LAST_NAME VARCHAR2 (25) FIRST_NAME VARCHAR2 (25) HIRE_DATE DATE You need to display HIRE_DATE values in this format: January 28, 2000 Which SELECT statement could you use? Mar for Review (1) Points SELECT TO_CHAR(hire_date, Month DD, YYYY) FROM employees; SELECT TO_CHAR(hire_date, 'Month DD, YYYY') FROM employees; (*) SELECT hire_date(TO_CHAR 'Month DD', ' YYYY') FROM employees; SELECT TO_CHAR(hire_date, 'Month DD', ' YYYY') FROM employees;
28. Which two statements concerning SQL functions are true? (Choose two.) (1) Points (Choose all correct answers)
Character functions can accept numeric input. Not all date functions return date values. (*) Number functions can return number or character values. Conversion functions convert a value from one data type to another data typ e. (*) Single-row functions manipulate groups of rows to return one result per gro up of rows.
29. Which SQL Statement should you use to display the prices in this format: "$00.30"? (1) Points SELECT TO_CHAR(price, '$99,900.99') FROM product; (*) SELECT TO_CHAR(price, "$99,900.99") FROM product; SELECT TO_CHAR(price, '$99,990.99') FROM product; SELECT TO_NUMBER(price, '$99,900.99') FROM product; 30. Which three statements concerning explicit data type conversions are true ? (Choose three.) (1) Points (Choose all correct answers) Use the TO_NUMBER function to convert a number to a character string. Use the TO_DATE function to convert a character string to a date value. (*) Use the TO_NUMBER function to convert a character string of digits to a num ber. (*) Use the TO_DATE function to convert a date value to character string or num ber. Use the TO_CHAR function to convert a number or date value to character str ing. (*) Previous Page 3 of 5 Next Summary Section 2
(Answer all questions in this section) 31. Which statement is false? (1) Points The WITH clause retrieves the results of one or more query bloc s The WITH clause decreases performance (*) The WITH clause ma es the query simple to read The WITH clause stores the results for the user who runs the query 32. A correlated subquery will _______ a candidate row from an outer query, _ ______ the inner query using candidate row value, and _______ values from the in ner query to qualify or disqualify the candidate row. Mar for Review (1) Points CREATE; EXECUTE; USE DELETE; UPDATE; INSERT GET; EXECUTE; USE (*) ROLLUP; GRANT; DROP
33. When creating a report of all employees earning more than the average sal ary for their department, a __________ ____________ can be used to first calcula te the average salary of each department, and then compare the salary for each e mployee to the average salary of that employee?s department. Mar for Review (1) Points WITH CLAUSE CORRELATED SUBQUERY (*) GROUP BY 34. Oracle allows you to write named subqueries in one single statement, as long as you start your statement with the eyword WITH. True or False? (1) Points True (*) False Section 1 (Answer all questions in this section) 35. Evaluate this function: MOD (25, 2) Which value is returned? (1) Points 1 (*) 2 25
0 36. You issue this SQL statement: SELECT TRUNC(751.367,-1) FROM dual; Which value does this statement display? Mar for Review (1) Points 700 750 (*) 751 751.3 37. Which script displays '01-MAY-04' when the HIRE_DATE value is '20-MAY-04' ? (1) Points SELECT TRUNC(hire_date, 'MONTH') FROM employee; (*) SELECT ROUND(hire_date, 'MONTH') FROM employee; SELECT ROUND(hire_date, 'MON') FROM employee; SELECT TRUNC(hire_date, 'MI') FROM employee;
38. You need to return a portion of each employee?s last name, beginning with the first character up to the fifth character. Which character function should you use? Mar for Review (1) Points INSTR TRUNC SUBSTR (*) CONCAT
39. What will the following SQL statemtent display? SELECT last_name, LPAD(salary, 15, '$')SALARY FROM employees;
(1) Points The last name of employees that have a salary that includes a $ in the value , size of 15 and the column labeled SALARY. The last name and the format of the salary limited to 15 digits to the left of the decimal and the column labeled SALARY. The last name and salary for all employees with the format of the salary 15 characters long, left-padded with the $ and the column labeled SALARY. (*) The query will result in an error: "ORA-00923: FROM eyword not found where expected."
40. You query the database with this SQL statement: SELECT LOWER(SUBSTR(CONCAT(last_name, first_name)), 1, 5) "ID" FROM employee; In which order are the functions evaluated? (1) Points LOWER, SUBSTR, CONCAT LOWER, CONCAT, SUBSTR SUBSTR, CONCAT, LOWER CONCAT, SUBSTR, LOWER (*) Section 1 (Answer all questions in this section) 41. Which functions can be used to manipulate character, number, and date col umn values? (1) Points CONCAT, RPAD, and TRIM (*) UPPER, LOWER, and INITCAP ROUND, TRUNC, and MOD ROUND, TRUNC, and ADD_MONTHS 42. You query the database with this SQL statement: SELECT CONCAT(last_name, (SUBSTR(LOWER(first_name), 4))) "Default Password" FROM employees; Which function will be evaluated first? (1) Points CONCAT SUBSTR
LOWER (*) All three will be evaluated simultaneously. 43. You need to display the number of characters in each customer's last name . Which function should you use? (1) Points LENGTH (*) LPAD COUNT SUBSTR 44. You need to display each employee's name in all uppercase letters. Which function should you use? (1) Points CASE UCASE UPPER (*) TOUPPER 45. The STYLES table contains this data: STYLE_ID STYLE_NAME CATEGORY COST 895840 SANDAL 85940 12.00 968950 SANDAL 85909 10.00 869506 SANDAL 89690 15.00 809090 LOAFER 89098 10.00 890890 LOAFER 89789 14.00 857689 HEEL 85940 11.00 758960 SANDAL 86979 12.00 You query the database and return the value 79. Which script did you use? (1) Points SELECT INSTR(category, 2,2) FROM styles WHERE style_id = 895840; SELECT INSTR(category, -2,2) FROM styles WHERE style_id = 895840; SELECT SUBSTR(category, 2,2) FROM styles
WHERE style_id = 895840; SELECT SUBSTR(category, -2,2) FROM styles WHERE style_id = 758960; (*) 46. You want to create a report that displays all orders and their amounts th at were placed during the month of January. You want the orders with the highest amounts to appear first. Which query should you issue? (1) Points SELECT orderid, total FROM orders WHERE order_date LIKE '01-jan-02' AND '31-jan-02' ORDER BY total DESC; SELECT orderid, total FROM orders WHERE order_date IN ( 01-jan-02 , 31-jan-02 ) ORDER BY total; SELECT orderid, total FROM orders WHERE order_date BETWEEN '01-jan-02' AND '31-jan-02' ORDER BY total DESC; (*) SELECT orderid, total FROM orders WHERE order_date BETWEEN '31-jan-02' AND '01-jan-02' ORDER BY total DESC; 47. Which SELECT statement will NOT return a date value? (1) Points SELECT (30 + hire_date) + 1440/24 FROM employees; SELECT (SYSDATE - hire_date) + 10*8 FROM employees; (*) SELECT SYSDATE - TO_DATE('25-JUN-02') + hire_date FROM employees; SELECT (hire_date - SYSDATE) + TO_DATE('25-JUN-02') FROM employees;
48. Evaluate this SELECT statement: SELECT SYSDATE + 30 FROM dual; Which value is returned by the query? (1) Points The current date plus 30 hours. The current date plus 30 days. (*) The current date plus 30 months. No value is returned because the SELECT statement generates an error.
49. Which of the following SQL statements will correctly display the last name and the number of wee s employed for all employees in department 90? (1) Points SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKS FROM employees WHERE department_id = 90; (*) SELECT last name, (SYSDATE-hire_date)/7 DISPLAY WEEKS FROM employees WHERE department id = 90; SELECT last_name, # of WEEKS FROM employees WHERE department_id = 90; SELECT last_name, (SYSDATE-hire_date)AS WEEK FROM employees WHERE department_id = 90; 50. The EMPLOYEES table contains these columns: LAST_NAME VARCHAR2(20) FIRST_NAME VARCHAR2(20) HIRE_DATE DATE EVAL_MONTHS NUMBER(3) Evaluate this SELECT statement: SELECT hire_date + eval_months FROM employees; The values returned by this SELECT statement will be of which data type? (1) Points DATE (*)