Introduction To Oracle Sql


Published on

Writing Basic Sql statement
Restricting & Sorting Data
Single Row Function

Published in: Education, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introduction To Oracle Sql

  2. 2. BSTC
  3. 3. Introduction : • Structured Query Language (SQL) is the standard language used to communicate with database software. • SQL is a complex and powerful language that can be used to deal with databases. • the ANSI standard requires the keywords to all be similar (Select, Delete, Insert, and etc.). This makes SQL universally understandable and useable by all users. BSTC
  4. 4. Slides contents Writing Basic Sql statement Restricting & Sorting Data Single Row Function BSTC
  5. 5. BSTC
  6. 6. Writing basic Sql statement : BSTC
  7. 7. Basic Select statement : • SELECT distinct{‘ column alias’} FROM table_name; BSTC
  8. 8. BSTC
  9. 9. Using where clause SELECT employee_id, last_name, department_id FROM employees WHERE department_id = 90; BSTC
  10. 10. Comparison conditions < less-than SELECT * FROM employees WHERE salary < 2500; >= Greater- than-or- equal-to SELECT * FROM employees WHERE salary >= 2500; <= Less-than- or-equal-to SELECT * FROM employees WHERE salary <= 2500; BSTC
  11. 11. Comparison conditions (cont.) = Equality SELECT * FROM employees WHERE salary = 2500; <> Inequality SELECT * FROM employees WHERE salary != 2500; > Greater- than SELECT * FROM employees WHERE salary > 2500; BSTC
  12. 12. Comparison conditions (cont.) BETWEEN…. AND SELECT first_name, last_name, salary FROM employee WHERE salary BETWEEN 1000 AND 1500; LIKE SELECT first_name, last_name FROM Employees WHERE first_name LIKE 'S%'; BSTC
  13. 13. Comparison conditions (cont.) IN SELECT first_name, last_name, job_id FROM employees WHERE job_id IN(‘IT_PROG', ‘CLERK'); IS NULL SELECT * FROM employees WHERE commission_pct is NULL BSTC
  14. 14. Logical conditions : Logical Conditions Example OR SELECT last_name,job_id,salary FROM employees WHERE salary = 1400 OR job_id = ‘CLERK‘; AND SELECT first_name,salary FROM employees WHERE salary >= 1000 AND salary <= 1500; NOT SELECT first_name,job_id FROM employees WHERE NOT job_id = ‘IT_PROG‘; BSTC
  15. 15. Order By Clause : • Sort rows with the order by clause • -ASC: ascending order ,default • -DESC : descending order • It’s comes last in the select statement • SELECT expressions FROM tables WHERE conditions ORDER BY expression [ ASC | DESC ]; BSTC
  16. 16. Example : Select last_name ,job_id department_id,hire_date From employees Order by hire_date DESC; BSTC
  17. 17. BSTC
  18. 18. Function Input arg 1 arg 2 arg n Function performs action Output Result value Sql functions : BSTC
  19. 19. Functions Single-row functions Multiple-row functions Two types of sql fu nctions : BSTC
  20. 20. Single row functions : Single row functions: • Manipulate data items • Accept arguments and return one value • Act on each row returned • Return one result per row • May modify the data type • Can be nested • Accept arguments which can be a column or an expression function_name [(arg1, arg2,...)] BSTC
  21. 21. NumberGeneralDateCharacter Four Single row functions : Single-row functions conversion BSTC
  22. 22. Character functions LOWER UPPER INITCAP CONCAT SUBSTR LENGTH INSTR LPAD | RPAD TRIM REPLACE Case-manipulation functions Character-manipulation functions Character functions : BSTC
  23. 23. Case manipulating functions : These functions convert case for character strings. Function Result LOWER('SQL Course') sql course UPPER('SQL Course') SQL COURSE INITCAP('SQL Course') Sql Course BSTC
  24. 24. SELECT employee_id, last_name, department_id FROM employees WHERE LOWER(last_name) = 'higgins'; Using Case Manipulation Functions Display the employee number, name, and department number for employee Higgins: SELECT employee_id, last_name, department_id FROM employees WHERE last_name = 'higgins'; BSTC
  25. 25. Character-Manipulation Functions These functions manipulate character strings: Function result CONCAT('Hello', 'World') SUBSTR('HelloWorld',1, 5) LENGTH('HelloWorld') INSTR('HelloWorld', 'W')LPAD(salary,10,'*' ) RPAD(salary, 10, '*') TRIM('H' FROM 'HelloWorld') HelloWorld Hello 10 6 *****24000 24000***** elloWorld BSTC
  26. 26. SELECT employee_id, CONCAT(first_name, last_name) NAME, job_id, LENGTH (last_name), INSTR(last_name, 'a') "Contains 'a'?" FROM employees WHERE SUBSTR(job_id, 4) = 'REP'; Using the Character-Manipulation Functions BSTC
  27. 27. Number Functions • ROUND: Rounds value to specified decimal ROUND(45.926, 2) 45.93 • TRUNC: Truncates value to specified decimal TRUNC(45.926, 2) 45.92 • MOD: Returns remainder of division MOD(1600, 300) 100 BSTC
  28. 28. SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1) FROM DUAL; Using the ROUND Function DUAL is a dummy table you can use to view results from functions and calculations. 1 2 3 31 2 BSTC
  29. 29. SELECT TRUNC(45.923,2), TRUNC(45.923), TRUNC(45.923,-2) FROM DUAL; Using the TRUNC Function 31 2 1 2 3 BSTC
  30. 30. SELECT last_name, salary, MOD(salary, 5000) FROM employees WHERE job_id = 'SA_REP'; Using the MOD Function Calculate the remainder of a salary after it is divided by 5000 for all employees whose job title is sales representative. BSTC
  31. 31. Working with Dates • Oracle database stores dates in an internal numeric format: century, year, month, day, hours, minutes, seconds. • The default date display format is DD-MON-YY. SELECT last_name, hire_date FROM employees WHERE last_name like 'G%'; BSTC
  32. 32. Working with Dates SYSDATE is a function that returns: • Date / Time BSTC
  33. 33. Arithmetic with Dates • Add or subtract a number to or from a date for a resultant date value. • Subtract two dates to find the number of days between those dates. BSTC
  34. 34. Using Arithmetic Operators with Dates SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKS FROM employees WHERE department_id = 90; BSTC
  35. 35. Date Functions Number of months between two dates MONTHS_BETWEEN ADD_MONTHS NEXT_DAY LAST_DAY ROUND TRUNC Add calendar months to date Next day of the date specified Last day of the month Round date Truncate date Function Description BSTC
  36. 36. • MONTHS_BETWEEN ('01-SEP-95','11-JAN-94') Using Date Functions • ADD_MONTHS ('11-JAN-94',6) • NEXT_DAY ('01-SEP-95','FRIDAY') • LAST_DAY('01-FEB-95') 19.6774194 '11-JUL-94' '08-SEP-95' '28-FEB-95' BSTC
  37. 37. • ROUND(SYSDATE,'MONTH') 01-AUG-95 • ROUND(SYSDATE ,'YEAR') 01-JAN-96 • TRUNC(SYSDATE ,'MONTH') 01-JUL-95 • TRUNC(SYSDATE ,'YEAR') 01-JAN-95 Using Date Functions Assume SYSDATE = '25-JUL-95': BSTC
  38. 38. Conversion Functions Implicit data type conversion Explicit data type conversion Data type conversion BSTC
  40. 40. Using the TO_CHAR Function with Dates The format model: • Must be enclosed in single quotation marks and is case sensitive • Can include any valid date format element • Has an fm element to remove padded blanks or suppress leading zeros • Is separated from the date value by a comma TO_CHAR(date, 'format_model') BSTC
  41. 41. YYYY YEAR MM MONTH DY DAY Full year in numbers Year spelled out Two-digit value for month Three-letter abbreviation of the day of the week Full name of the day of the week Full name of the month MON Three-letter abbreviation of the month DD Numeric day of the month Date formats : BSTC
  42. 42. Using the TO_CHAR Function with Dates SELECT last_name, TO_CHAR(hire_date, 'fmDD Month YYYY') AS HIREDATE FROM employees; … BSTC
  43. 43. Using the TO_CHAR Function with Numbers These are some of the format elements you can use with the TO_CHAR function to display a number value as a character: TO_CHAR(number, 'format_model') 9 0 $ L . , Represents a number Forces a zero to be displayed Places a floating dollar sign Uses the floating local currency symbol Prints a decimal point Prints a thousand indicatorBSTC
  44. 44. SELECT TO_CHAR(salary, '$99,999.00') SALARY FROM employees WHERE last_name = 'Ernst'; Using the TO_CHAR Function with Numbers BSTC
  45. 45. Nesting Functions • Single-row functions can be nested to any level. • Nested functions are evaluated from deepest level to the least deep level. F3(F2(F1(col,arg1),arg2),arg3) Step 1 = Result 1 Step 2 = Result 2 Step 3 = Result 3 BSTC
  46. 46. SELECT last_name, NVL(TO_CHAR(manager_id), 'No Manager') FROM employees WHERE manager_id IS NULL; Nesting Functions BSTC
  47. 47. General Functions These functions work with any data type and pertain to using nulls. • NVL (expr1, expr2) BSTC
  48. 48. NVL Function Converts a null to an actual value. • Data types that can be used are date, character, and number. • Data types must match: – NVL(commission_pct,0) – NVL(hire_date,'01-JAN-97') – NVL(job_id,'No Job Yet') BSTC
  49. 49. SELECT last_name, salary, NVL(commission_pct, 0), (salary*12) + (salary*12*NVL(commission_pct, 0)) AN_SAL FROM employees; Using the NVL Function … 1 2 1 2 BSTC
  50. 50. Conditional Expressions • Provide the use of IF-THEN-ELSE logic within a SQL statement • Use two methods: – DECODE function BSTC
  51. 51. The DECODE Function Facilitates conditional inquiries by doing the work of an IF-THEN-ELSE statement: DECODE(col|expression, search1, result1 [, search2, result2,...,] [, default]) BSTC
  52. 52. Using the DECODE Function SELECT last_name, job_id, salary, DECODE(job_id, 'IT_PROG', 1.10*salary, 'ST_CLERK', 1.15*salary, 'SA_REP', 1.20*salary, salary) REVISED_SALARY FROM employees; … … BSTC
  53. 53. Thank U /alqaddal /alqaddal BSTC Ahmed Alqaddal Hamid Fadl Baraah Alsayed