restricting and sorting data - oracle data base

28
2 Copyright © Oracle Corporation, 2001. All rights reserved. Restricting and Sorting Data

Upload: salman-memon

Post on 13-Jan-2017

284 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Restricting and Sorting Data - Oracle Data Base

2Copyright © Oracle Corporation, 2001. All rights reserved.

Restricting and Sorting Data

Page 2: Restricting and Sorting Data - Oracle Data Base

2-2 Copyright © Oracle Corporation, 2001. All rights reserved.

Objectives

After completing this lesson, you should be able to do the following:• Limit the rows retrieved by a query• Sort the rows retrieved by a query

Page 3: Restricting and Sorting Data - Oracle Data Base

2-3 Copyright © Oracle Corporation, 2001. All rights reserved.

Limiting Rows Using a Selection

“retrieve allemployeesin department 90”

EMPLOYEES

Page 4: Restricting and Sorting Data - Oracle Data Base

2-4 Copyright © Oracle Corporation, 2001. All rights reserved.

Limiting the Rows Selected

• Restrict the rows returned by using the WHERE clause.

• The WHERE clause follows the FROM clause.

SELECT *|{[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)];

Page 5: Restricting and Sorting Data - Oracle Data Base

2-5 Copyright © Oracle Corporation, 2001. All rights reserved.

Using the WHERE Clause

SELECT employee_id, last_name, job_id, department_idFROM employeesWHERE department_id = 90 ;

Page 6: Restricting and Sorting Data - Oracle Data Base

2-6 Copyright © Oracle Corporation, 2001. All rights reserved.

Character Strings and Dates

• Character strings and date values are enclosed in single quotation marks.

• Character values are case sensitive, and date values are format sensitive.

• The default date format is DD-MON-RR.SELECT last_name, job_id, department_idFROM employeesWHERE last_name = 'Whalen';

Page 7: Restricting and Sorting Data - Oracle Data Base

2-7 Copyright © Oracle Corporation, 2001. All rights reserved.

Comparison Conditions

Operator

=

>

>=

<

<=

<>

Meaning

Equal to

Greater than

Greater than or equal to

Less than

Less than or equal to

Not equal to

Page 8: Restricting and Sorting Data - Oracle Data Base

2-8 Copyright © Oracle Corporation, 2001. All rights reserved.

SELECT last_name, salaryFROM employeesWHERE salary <= 3000;

Using Comparison Conditions

Page 9: Restricting and Sorting Data - Oracle Data Base

2-9 Copyright © Oracle Corporation, 2001. All rights reserved.

Other Comparison Conditions

Operator

BETWEEN...AND...

IN(set)

LIKE

IS NULL

Meaning

Between two values (inclusive),

Match any of a list of values

Match a character pattern

Is a null value

Page 10: Restricting and Sorting Data - Oracle Data Base

2-10 Copyright © Oracle Corporation, 2001. All rights reserved.

Using the BETWEEN Condition

Use the BETWEEN condition to display rows based on a range of values.SELECT last_name, salaryFROM employeesWHERE salary BETWEEN 2500 AND 3500;

Lower limit Upper limit

Page 11: Restricting and Sorting Data - Oracle Data Base

2-11 Copyright © Oracle Corporation, 2001. All rights reserved.

SELECT employee_id, last_name, salary, manager_idFROM employeesWHERE manager_id IN (100, 101, 201);

Using the IN Condition

Use the IN membership condition to test for values in a list.

Page 12: Restricting and Sorting Data - Oracle Data Base

2-12 Copyright © Oracle Corporation, 2001. All rights reserved.

Using the LIKE Condition

• Use the LIKE condition to perform wildcard searches of valid search string values.

• Search conditions can contain either literal characters or numbers:– % denotes zero or many characters.– _ denotes one character.

SELECT first_nameFROM employeesWHERE first_name LIKE 'S%';

Page 13: Restricting and Sorting Data - Oracle Data Base

2-13 Copyright © Oracle Corporation, 2001. All rights reserved.

• You can combine pattern-matching characters.

• You can use the ESCAPE identifier to search for the actual % and _ symbols.

Using the LIKE Condition

SELECT last_nameFROM employeesWHERE last_name LIKE '_o%';

Page 14: Restricting and Sorting Data - Oracle Data Base

2-14 Copyright © Oracle Corporation, 2001. All rights reserved.

Using the NULL Conditions

Test for nulls with the IS NULL operator.

SELECT last_name, manager_idFROM employeesWHERE manager_id IS NULL;

Page 15: Restricting and Sorting Data - Oracle Data Base

2-15 Copyright © Oracle Corporation, 2001. All rights reserved.

Logical Conditions

Operator

AND

OR

NOT

Meaning

Returns TRUE if both component conditions are true

Returns TRUE if either component condition is true

Returns TRUE if the following condition is false

Page 16: Restricting and Sorting Data - Oracle Data Base

2-16 Copyright © Oracle Corporation, 2001. All rights reserved.

Using the AND Operator

AND requires both conditions to be true.

SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >=10000AND job_id LIKE '%MAN%';

Page 17: Restricting and Sorting Data - Oracle Data Base

2-17 Copyright © Oracle Corporation, 2001. All rights reserved.

Using the OR Operator

OR requires either condition to be true.SELECT employee_id, last_name, job_id, salaryFROM employeesWHERE salary >= 10000OR job_id LIKE '%MAN%';

Page 18: Restricting and Sorting Data - Oracle Data Base

2-18 Copyright © Oracle Corporation, 2001. All rights reserved.

SELECT last_name, job_idFROM employeesWHERE job_id NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');

Using the NOT Operator

Page 19: Restricting and Sorting Data - Oracle Data Base

2-19 Copyright © Oracle Corporation, 2001. All rights reserved.

Rules of Precedence

Override rules of precedence by using parentheses.

Order Evaluated Operator 1 Arithmetic operators

2 Concatenation operator3 Comparison conditions4 IS [NOT] NULL, LIKE, [NOT] IN5 [NOT] BETWEEN6 NOT logical condition7 AND logical condition8 OR logical condition

Page 20: Restricting and Sorting Data - Oracle Data Base

2-20 Copyright © Oracle Corporation, 2001. All rights reserved.

SELECT last_name, job_id, salaryFROM employeesWHERE job_id = 'SA_REP'OR job_id = 'AD_PRES'AND salary > 15000;

Rules of Precedence

Page 21: Restricting and Sorting Data - Oracle Data Base

2-21 Copyright © Oracle Corporation, 2001. All rights reserved.

SELECT last_name, job_id, salaryFROM employeesWHERE (job_id = 'SA_REP'OR job_id = 'AD_PRES')AND salary > 15000;

Rules of Precedence

Use parentheses to force priority.

Page 22: Restricting and Sorting Data - Oracle Data Base

2-22 Copyright © Oracle Corporation, 2001. All rights reserved.

SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date ;

ORDER BY Clause

• Sort rows with the ORDER BY clause– ASC: ascending order, default– DESC: descending order

• The ORDER BY clause comes last in the SELECT statement.

Page 23: Restricting and Sorting Data - Oracle Data Base

2-23 Copyright © Oracle Corporation, 2001. All rights reserved.

Sorting in Descending Order

SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date DESC ;

Page 24: Restricting and Sorting Data - Oracle Data Base

2-24 Copyright © Oracle Corporation, 2001. All rights reserved.

Sorting by Column Alias

SELECT employee_id, last_name, salary*12 annsalFROM employeesORDER BY annsal;

Page 25: Restricting and Sorting Data - Oracle Data Base

2-25 Copyright © Oracle Corporation, 2001. All rights reserved.

• The order of ORDER BY list is the order of sort.

• You can sort by a column that is not in the SELECT list.

SELECT last_name, department_id, salaryFROM employeesORDER BY department_id, salary DESC;

Sorting by Multiple Columns

Page 26: Restricting and Sorting Data - Oracle Data Base

2-26 Copyright © Oracle Corporation, 2001. All rights reserved.

Summary

SELECT *|{[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)][ORDER BY {column, expr, alias} [ASC|DESC]];

In this lesson, you should have learned how to: • Use the WHERE clause to restrict rows of output

– Use the comparison conditions– Use the BETWEEN, IN, LIKE, and NULL conditions– Apply the logical AND, OR, and NOT operators

• Use the ORDER BY clause to sort rows of output

Page 27: Restricting and Sorting Data - Oracle Data Base

2-27 Copyright © Oracle Corporation, 2001. All rights reserved.

Practice 2 Overview

This practice covers the following topics:• Selecting data and changing the order of

rows displayed• Restricting rows by using the WHERE clause• Sorting rows by using the ORDER BY clause

Page 28: Restricting and Sorting Data - Oracle Data Base

2-28 Copyright © Oracle Corporation, 2001. All rights reserved.