0% found this document useful (0 votes)
32 views

Presentacion Oracle SQL

- The WHERE clause is used to limit the rows returned by a SELECT statement based on conditions. Common comparison operators used in the WHERE clause include =, <, >, BETWEEN, IN, LIKE, and IS NULL. - Logical operators like AND, OR, and NOT can be used to combine conditions. - The ORDER BY clause sorts the rows returned. Substitution variables can be used to restrict or sort output dynamically.

Uploaded by

Danny Páez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Presentacion Oracle SQL

- The WHERE clause is used to limit the rows returned by a SELECT statement based on conditions. Common comparison operators used in the WHERE clause include =, <, >, BETWEEN, IN, LIKE, and IS NULL. - Logical operators like AND, OR, and NOT can be used to combine conditions. - The ORDER BY clause sorts the rows returned. Substitution variables can be used to restrict or sort output dynamically.

Uploaded by

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

2/5/2013

Objectives
Aftercompletingthislesson,youshouldbeableto
dothefollowing:

RetrievingDataUsing
theSQLSELECT Statement

LessonAgenda
BasicSELECT statement
ArithmeticexpressionsandNULL valuesintheSELECT
statement
Columnaliases
Useofconcatenationoperator,literalcharacterstrings,
alternativequoteoperator,andtheDISTINCT keyword
DESCRIBE command
d

ListthecapabilitiesofSQLSELECT statements
ExecuteabasicSELECT statement

CapabilitiesofSQLSELECT
Statements
Projection

Selection

Table1

Table1
Join

Table1

BasicSELECT Statement
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM
table;

Table2

SelectingAllColumns
SELECT *
FROM
departments;

SELECT identifiesthecolumnstobedisplayed.
FROM identifiesthetablecontainingthosecolumns.

2/5/2013

SelectingSpecificColumns
SELECT department_id, location_id
FROM
departments;

WritingSQLStatements
SQLstatementsarenotcasesensitive.
SQLstatementscanbeenteredononeormorelines.
Keywordscannotbeabbreviatedorsplitacrosslines.
Clausesareusuallyplacedonseparatelines.
Indentsareusedtoenhancereadability.
In SQL Developer SQL statements can optionally be
InSQLDeveloper,SQLstatementscanoptionallybe
terminatedbyasemicolon(;).Semicolonsarerequired
whenyouexecutemultipleSQLstatements.
InSQL*Plus,youarerequiredtoendeachSQL
statementwithasemicolon(;).

ColumnHeadingDefaults
SQLDeveloper:
Defaultheadingalignment:Leftaligned
Defaultheadingdisplay:Uppercase

SQL*Plus:
CharacterandDatecolumnheadingsareleftaligned.
Numbercolumnheadingsareright
Number column headings are rightaligned
aligned.
Defaultheadingdisplay:Uppercase

ArithmeticExpressions
Createexpressionswithnumberanddatedatabyusing
arithmeticoperators.

Operator

BasicSELECT statement
ArithmeticexpressionsandNULL valuesintheSELECT
statement
ColumnAliases
Useofconcatenationoperator,literalcharacterstrings,
alternativequoteoperator,andtheDISTINCT keyword
DESCRIBE command
d

UsingArithmeticOperators
SELECT last_name, salary, salary + 300
FROM
employees;

Description

Add

Subtract

LessonAgenda

Multiply
/

Divide

2/5/2013

OperatorPrecedence
SELECT last_name, salary, 12*salary+100
FROM
employees;

DefiningaNullValue
1

Nullisavaluethatisunavailable,unassigned,unknown,
orinapplicable.
Nullisnotthesameaszeroorablankspace.
SELECT last_name, job_id, salary, commission_pct
FROM
O
e
employees;
p oyees;

SELECT last_name, salary, 12*(salary+100)


FROM
employees;

LessonAgenda

NullValuesinArithmeticExpressions
Arithmeticexpressionscontaininganullvalueevaluatetonull.
SELECT last_name, 12*salary*commission_pct
FROM
employees;

BasicSELECT statement
ArithmeticexpressionsandNULL valuesintheSELECT
statement
Columnaliases
Useofconcatenationoperator,literalcharacterstrings,
alternativequoteoperator,andtheDISTINCT keyword
DESCRIBE command
d

DefiningaColumnAlias

UsingColumnAliases

Acolumnalias:
Renamesacolumnheading
Isusefulwithcalculations
Immediatelyfollowsthecolumnname(Therecanalsobethe
optionalAS keywordbetweenthecolumnnameandalias.)
Requiresdoublequotationmarksifitcontainsspacesor
specialcharacters,orifitiscasesensitive
l h
f

SELECT last_name AS name, commission_pct comm


FROM
employees;

SELECT last_name "Name" , salary*12 "Annual Salary"


FROM
employees;

2/5/2013

LessonAgenda
BasicSELECT Statement
ArithmeticExpressionsandNULLvaluesinSELECT
statement
ColumnAliases
Useofconcatenationoperator,literalcharacterstrings,
alternativequoteoperator,andtheDISTINCT keyword
DESCRIBE command
d

ConcatenationOperator
Aconcatenationoperator:
Linkscolumnsorcharacterstringstoothercolumns
Isrepresentedbytwoverticalbars(||)
Createsaresultantcolumnthatisacharacterexpression
SELECT
FROM

last name||job id AS "Employees"


last_name||job_id
Employees
employees;

LiteralCharacterStrings
Aliteralisacharacter,anumber,oradatethatisincludedin
theSELECT statement.
Dateandcharacterliteralvaluesmustbeenclosedwithin
singlequotationmarks.
Eachcharacterstringisoutputonceforeachrowreturned.

UsingLiteralCharacterStrings
SELECT last_name ||' is a '||job_id
AS "Employee Details"
FROM
employees;

AlternativeQuote(q)Operator
Specifyyourownquotationmarkdelimiter.
Selectanydelimiter.
Increasereadabilityandusability.
SELECT department_name || ' Department' ||
q'['s Manager Id: ]'
|| manager_id
AS "Department and Manager"
FROM departments;

DuplicateRows
Thedefaultdisplayofqueriesisallrows,includingduplicate
rows.
SELECT department_id
FROM
employees;

SELECT DISTINCT department_id


FROM
employees;

2/5/2013

LessonAgenda
BasicSELECT statement
ArithmeticexpressionsandNULL valuesintheSELECT
statement
Columnaliases
Useofconcatenationoperator,literalcharacterstrings,
alternativequoteoperator,andtheDISTINCT keyword
DESCRIBE command
d

UsingtheDESCRIBE Command

DisplayingtheTableStructure
UsetheDESCRIBE commandtodisplaythestructure
ofatable.
Or,selectthetableintheConnectionstreeandusethe
Columnstabtoviewthetablestructure.
DESC[RIBE] tablename

Summary
Inthislesson,youshouldhavelearnedhowto:

DESCRIBE employees

WriteaSELECT statementthat:
Returnsallrowsandcolumnsfromatable
Returnsspecifiedcolumnsfromatable
Usescolumnaliasestodisplaymoredescriptivecolumn
headings

SELECT *|{[DISTINCT] column|expression [alias],...}


FROM table;

Practice1:Overview
Thispracticecoversthefollowingtopics:
Selectingalldatafromdifferenttables
Describingthestructureoftables
Performingarithmeticcalculationsandspecifying
columnnames

2/5/2013

RestrictingandSortingData

2/5/2013

Objectives
Aftercompletingthislesson,youshouldbeableto
dothefollowing:
Limittherowsthatareretrievedbyaquery
Sorttherowsthatareretrievedbyaquery
Useampersandsubstitutiontorestrictandsortoutput
at run time
atruntime

LimitingRowsUsingaSelection
EMPLOYEES

LessonAgenda
Limitingrowswith:
The WHERE clause
Thecomparisonconditionsusing=,<=,BETWEEN,IN,
LIKE,andNULL conditions
LogicalconditionsusingAND,OR,andNOT operators

Rulesofprecedenceforoperatorsinanexpression
p
p
p
SortingrowsusingtheORDER BY clause
Substitutionvariables
DEFINE andVERIFY commands

LimitingtheRowsthatAreSelected
RestricttherowsthatarereturnedbyusingtheWHERE
clause:
SELECT*|{[DISTINCT]column|expression [alias],...}
FROMtable
[WHEREcondition(s)];

TheWHERE
The WHERE clausefollowstheFROM
clause follows the FROM clause.
clause

retrieve all
employees in
department 90

UsingtheWHERE Clause
SELECTemployee_id,last_name,job_id,department_id
FROMemployees
WHEREdepartment_id=90;

CharacterStringsandDates
Characterstringsanddatevaluesareenclosedwith
singlequotationmarks.
Charactervaluesarecasesensitiveanddatevaluesare
formatsensitive.
ThedefaultdatedisplayformatisDD-MON-RR.
SELECTlast_name,job_id,department_id
FROMemployees
WHERElast_name='Whalen';
SELECTlast_name
FROMemployees
WHEREhire_date='17FEB96';

2/5/2013

ComparisonOperators
Operator

Meaning

Equal to

>

Greater than

>=

SELECTlast_name,salary
FROMemployees
WHEREsalary<=3000;

Greater than or equal to

<

Less than

<=

Less than or equal to

<>

Not equal to

BETWEEN
...AND...

Between two values (inclusive)

IN(set)

Match any of a list of values

LIKE

Match a character pattern

ISNULL

Is a null value

RangeConditionsUsingtheBETWEEN
Operator
UsetheBETWEEN operatortodisplayrowsbasedonarangeof
values:

Lower limit

UsetheIN operatortotestforvaluesinalist:

Upper limit

PatternMatchingUsingtheLIKE
Operator
UsetheLIKE operatortoperformwildcard
searchesofvalidsearchstringvalues.
Searchconditionscancontaineitherliteral
charactersornumbers:
% denoteszeroormanycharacters.
_ denotes
denotesonecharacter.
one character.
first_name
employees
first_nameLIKE'S%';

MembershipConditionUsingtheIN
Operator
SELECTemployee_id,last_name,salary,manager_id
FROMemployees
WHEREmanager_idIN(100,101,201);

SELECTlast_name,salary
FROMemployees
WHEREsalaryBETWEEN2500AND3500;

SELECT
FROM
WHERE

UsingComparisonOperators

CombiningWildcardCharacters
Youcancombinethetwowildcardcharacters(%,_)
withliteralcharactersforpatternmatching:
SELECTlast_name
FROMemployees
WHERElast_nameLIKE'_o%';

YoucanusetheESCAPE identifiertosearchforthe
actual% and_ symbols.

2/5/2013

UsingtheNULL Conditions

DefiningConditionsUsingtheLogical
Operators

TestfornullswiththeIS NULL operator.


Operator

SELECTlast_name,manager_id
FROMemployees
WHEREmanager_idISNULL;

Returns TRUE if both component conditions


are true

OR

Returns TRUE if either component condition


is true

NOT

UsingtheAND Operator
AND requiresboththecomponentconditionstobetrue:
SELECTemployee_id,last_name,job_id,salary
FROMemployees
WHEREsalary>=10000
ANDjob_idLIKE'%MAN%';

Meaning

AND

Returns TRUE if the condition is false

UsingtheOR Operator
OR requireseithercomponentconditiontobetrue:
SELECTemployee_id,last_name,job_id,salary
FROMemployees
WHEREsalary>=10000
ORjob_idLIKE'%MAN%';

UsingtheNOT Operator

LessonAgenda
Limitingrowswith:
TheWHERE clause
Thecomparisonconditionsusing=,<=,BETWEEN,IN,
LIKE,andNULL operators
LogicalconditionsusingAND,OR,andNOT operators

SELECTlast_name,job_id
FROMemployees
WHEREjob_id
NOTIN('IT_PROG','ST_CLERK','SA_REP');

Rulesofprecedenceforoperatorsinanexpression
p
p
p
SortingrowsusingtheORDER BY clause
Substitutionvariables
DEFINE andVERIFY commands

2/5/2013

RulesofPrecedence
Operator

RulesofPrecedence
SELECTlast_name,job_id,salary
FROMemployees
WHEREjob_id='SA_REP'
ORjob_id='AD_PRES'
ANDsalary>15000;

Meaning

Arithmetic operators

Concatenation operator

Comparison conditions

IS [NOT] NULL,
NULL LIKE,
LIKE [NOT] IN

[NOT] BETWEEN

Not equal to

NOT logical condition

AND logical condition

OR logical condition

SELECTlast_name,job_id,salary
FROMemployees
WHERE(job_id='SA_REP'
ORjob_id='AD_PRES')
ANDsalary>15000;

You can use parentheses to override rules of precedence.

UsingtheORDER BY Clause

LessonAgenda
Limitingrowswith:

SortretrievedrowswiththeORDER BY clause:

TheWHERE clause
Thecomparisonconditionsusing=,<=,BETWEEN,IN,
LIKE,andNULL operators
LogicalconditionsusingAND,OR,andNOT operators

Rulesofprecedenceforoperatorsinanexpression
p
p
p
SortingrowsusingtheORDER BY clause
Substitutionvariables
DEFINE andVERIFY commands

ASC:Ascendingorder,default
DESC:Descendingorder

TheORDER BY clausecomeslastintheSELECT statement:


SELECTlast_name,job_id,department_id,hire_date
FROMemployees
ORDERBYhire_date;

Sorting

Sorting
Sortingbyusingthecolumnsnumericposition:

Sortingindescendingorder:
SELECTlast_name,job_id,department_id,hire_date
FROMemployees
ORDERBYhire_dateDESC;

SELECTlast_name,job_id,department_id,hire_date
FROMemployees
ORDERBY3;

Sortingbymultiplecolumns:
SELECTemployee_id,last_name,salary*12annsal
Sortingbycolumnalias:
FROMemployees
ORDERBYannsal;

SELECTlast_name,department_id,salary
FROMemployees
ORDERBYdepartment_id,salaryDESC;

10

2/5/2013

LessonAgenda

SubstitutionVariables

Limitingrowswith:
TheWHERE clause
Thecomparisonconditionsusing=,<=,BETWEEN,IN,
LIKE,andNULL operators
LogicalconditionsusingAND,OR,andNOT operators

Rulesofprecedenceforoperatorsinanexpression
p
p
p
SortingrowsusingtheORDER BY clause
Substitutionvariables
DEFINE andVERIFY commands

SubstitutionVariables
Usesubstitutionvariablesto:
Temporarilystorevalueswithsingleampersand(&)anddouble
ampersand(&&)substitution

Usesubstitutionvariablestosupplementthefollowing:

WHERE conditions
ORDER BY clauses
Columnexpressions
Tablenames
EntireSELECT statements

UsingtheSingleAmpersand
SubstitutionVariable

... salary = ?
department_id = ?
... last_name = ? ...
I want
to query
different
values.

UsingtheSingleAmpersand
SubstitutionVariable
Useavariableprefixedwithanampersand(&)topromptthe
userforavalue:
SELECTemployee_id,last_name,salary,department_id
FROMemployees
WHEREemployee_id=&employee_num;

CharacterandDateValueswith
SubstitutionVariables
Usesinglequotationmarksfordateandcharactervalues:
SELECTlast_name,department_id,salary*12
FROMemployees
WHEREjob_id='&job_title';

11

2/5/2013

SpecifyingColumnNames,
Expressions,andText
SELECTemployee_id,last_name,job_id,&column_name
FROMemployees
WHERE&condition
ORDERBY&order_column;

UsingtheDoubleAmpersand
SubstitutionVariable
Usedoubleampersand(&&)ifyouwanttoreusethevariable
valuewithoutpromptingtheusereachtime:
SELECTemployee_id,last_name,job_id,&&column_name
FROMemployees
ORDERBY&column_name;

LessonAgenda
Limitingrowswith:
TheWHERE clause
Thecomparisonconditionsusing=,<=,BETWEEN,IN,
LIKE,andNULL operators
LogicalconditionsusingAND,OR,andNOT operators

Rulesofprecedenceforoperatorsinanexpression
p
p
p
SortingrowsusingtheORDER BY clause
Substitutionvariables
DEFINE andVERIFY commands

UsingtheDEFINE Command
UsetheDEFINE commandtocreateandassignavalue
toavariable.
UsetheUNDEFINE commandtoremoveavariable.
DEFINEemployee_num=200
SELECTemployee_id,last_name,salary,department_id
FROMemployees
WHEREemployee_id=&employee_num;
UNDEFINEemployee_num

UsingtheVERIFY Command
UsetheVERIFY commandtotogglethedisplayofthe
substitutionvariable,bothbeforeandafterSQL
Developerreplacessubstitutionvariableswithvalues:
SETVERIFYON
SELECTemployee_id,last_name,salary
FROM
FROMemployees
employees
WHEREemployee_id=&employee_num;

Summary
Inthislesson,youshouldhavelearnedhowto:
UsetheWHERE clausetorestrictrowsofoutput:
Usethecomparisonconditions
UsetheBETWEEN,IN,LIKE,andNULL operators
ApplythelogicalAND,OR,andNOT operators

UsetheORDER BY clausetosortrowsofoutput:
p
SELECT*|{[DISTINCT]column|expression [alias],...}
FROMtable
[WHEREcondition(s)]
[ORDERBY{column,expr,alias}[ASC|DESC]];
Useampersandsubstitutiontorestrictandsortoutput

at
runtime

12

2/5/2013

Practice2:Overview
Thispracticecoversthefollowingtopics:
Selectingdataandchangingtheorderoftherows
thataredisplayed
RestrictingrowsbyusingtheWHERE clause
SortingrowsbyusingtheORDER BY clause
Usingsubstitutionvariablestoaddflexibilitytoyour
Using substitution variables to add flexibility to your
SQLSELECT statements

13

You might also like