DP 4 1 Practice DONE
DP 4 1 Practice DONE
Vocabulary
Identify the vocabulary word for each definition below.
Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Returns specific characters from character value starting at a
SUBSTR specific character position and going specified character positions
long
Replaces a sequence of characters in a string with another set of
REPLACE characters.
Returns the numeric position of a named string.
INSTR
Returns the number of characters in the expression
LENGTH
Pads the right-hand side of a character, resulting in a left- justified
RPAD value.
Try It / Solve It
1. Using the three separate words “Oracle,” “Internet,” and
“Academy,” use one command to produce the following output:
5. Starting with the string “Oracle Internet Academy”, pad the string to
create ****Oracle****Internet****Academy****
SELECT LPAD('Oracle',10,'*')||LPAD('Internet',12,'*')||RPAD(LPAD('Academy',11,'*'),15,'*')
AS "LPAD" FROM DUAL;
6. Starting with the string “Oracle Internet Academy”, pad the string to produce:
Oracle$$$Internet$$$Academy
SELECT RPAD('Oracle',9,'$')||RPAD('Internet',11,'$')||'Academy' AS "RPAD" FROM DUAL;
7. Using the string ‘Oracle Internet Academy’, produce the output shown using the REPLACE
function.
Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
2
8. List the order date and the order total from the Global Fast Foods F_ORDERS table. Name the
order total as TOTAL, and fill in the empty spaces to the left of the order total with $.
SELECT order_date, LPAD(ORDER_TOTAL,10,'$')AS "TOTAL"
FROM f_orders;
9. Write a query that will output a column called “ADDRESS” which has the following information:
ZOE TWEE 1009 OLIVER AVENUE BOSTON, MA 12889. Use the Global Fast Foods
F_CUSTOMERS table.
SELECT UPPER(first_name) ||' '|| UPPER(last_name) ||' '|| UPPER(address)||' ' ||UPPER(city) ||', '||UPPER(state)||' '||zip
AS "ADDRESS" FROM f_customers WHERE id = 456;
10. Write a query to return the first character of the first name concatenated to the last_name, the
salary, and the department id for employees working in department 20. Give the first expression
an alias of Name. Use the EMPLOYEES table. Change the query to use a substitution variable
instead of the hard coded value 20 for department id. Run the query for department 30 and 50
without changing the original where-clause in your statement.
SELECT CONCAT( SUBSTR(first_name, 1, 1) , last_name) "Name", salary, department_id FROM employees WHERE department_id = 20;
SELECT CONCAT( SUBSTR(first_name, 1, 1) , last_name) "Name", salary, department_id FROM employees WHERE department_id = :dptid;
11. Using a substitution variable for the department name, write a query listing department id,
department name, and location id for departments located in the_department_of_your_choice.
Use the DEPARTMENTS table. Note: All substitution variables in OAE are treated as character
strings, so no quotes (‘ ‘) are needed.
SELECT department_id as "departmentid", department_name as "departmentname", location_id as "location id"
FROM departments WHERE LOWER(department_name) = LOWER(:the_department_of_your_choice);
12. Write a query that returns all the employee data depending on the month of their hire date. Use
the EMPLOYEES table. The statement should return the month part of the hiredate which is then
compared to an abbreviated month (JAN, FEB, MAR) passed into the query via a substitution
variable.
SELECT first_name, last_name, hire_date, TO_CHAR(hire_date, 'MON') as "Month"
FROM employees WHERE TO_CHAR(hire_date, 'MON') = UPPER(:whichmonth);
1TP
Tobiasz
Burzyński
Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.