Retrieving Data Using the SQL SELECT Statement

Copyright © 2006, Oracle. All rights reserved.

Objectives

After completing this lesson, you should be able to do the following: • List the capabilities of SQL SELECT statements • Execute a basic SELECT statement • Differentiate between SQL statements and iSQL*Plus commands

1-2

Copyright © 2006, Oracle. All rights reserved.

Capabilities of SQL SELECT Statements

Projection

Selection

Table 1 Join

Table 1

Table 1
1-3

Table 2
Copyright © 2006, Oracle. All rights reserved.

Basic SELECT Statement SELECT *|{[DISTINCT] column|expression [alias]. 1-4 Copyright © 2006. All rights reserved..} FROM table. ... • SELECT identifies the columns to be displayed. Oracle. • FROM identifies the table containing those columns.

All rights reserved. . Oracle. 1-5 Copyright © 2006.Selecting All Columns SELECT * FROM departments.

Selecting Specific Columns SELECT department_id. location_id FROM departments. 1-6 Copyright © 2006. All rights reserved. . Oracle.

• Keywords cannot be abbreviated or split across lines. • SQL statements can be on one or more lines. • Clauses are usually placed on separate lines. .Writing SQL Statements • SQL statements are not case sensitive.). All rights reserved. 1-7 Copyright © 2006. • In SQL*Plus. Semicolons are required if you execute multiple SQL statements.). • In iSQL*Plus. SQL statements can optionally be terminated by a semicolon (. you are required to end each SQL statement with a semicolon (. Oracle. • Indents are used to enhance readability.

All rights reserved.Column Heading Defaults • iSQL*Plus: – Default heading alignment: Center – Default heading display: Uppercase • SQL*Plus: – Character and Date column headings are left-aligned – Number column headings are right-aligned – Default heading display: Uppercase 1-8 Copyright © 2006. . Oracle.

Arithmetic Expressions Create expressions with number and date data by using arithmetic operators. Oracle. Operator + * / Description Add Subtract Multiply Divide 1-9 Copyright © 2006. . All rights reserved.

… 1 . Oracle. All rights reserved. salary. . salary + 300 FROM employees.10 Copyright © 2006.Using Arithmetic Operators SELECT last_name.

Oracle. salary. 2 … 1 . 12*salary+100 FROM employees. salary. 1 … SELECT last_name. 12*(salary+100) FROM employees. All rights reserved. .Operator Precedence SELECT last_name.11 Copyright © 2006.

. … … 1 . Oracle. • A null is not the same as a zero or a blank space. unknown.12 Copyright © 2006. salary. or inapplicable. All rights reserved. job_id. unassigned. commission_pct FROM employees.Defining a Null Value • A null is a value that is unavailable. SELECT last_name.

Oracle. All rights reserved.Null Values in Arithmetic Expressions Arithmetic expressions containing a null value evaluate to null.13 Copyright © 2006. … … 1 . 12*salary*commission_pct FROM employees. . SELECT last_name.

) • Requires double quotation marks if it contains spaces or special characters or if it is case sensitive 1 . Oracle. . All rights reserved.14 Copyright © 2006.Defining a Column Alias A column alias: • Renames a column heading • Is useful with calculations • Immediately follows the column name (There can also be the optional AS keyword between the column name and alias.

Oracle. commission_pct comm FROM employees. … SELECT last_name "Name" . … 1 . All rights reserved.Using Column Aliases SELECT last_name AS name. . salary*12 "Annual Salary" FROM employees.15 Copyright © 2006.

Oracle.Concatenation Operator A concatenation operator: • Links columns or character strings to other columns • Is represented by two vertical bars (||) • Creates a resultant column that is a character expression SELECT FROM last_name||job_id AS "Employees" employees. … 1 .16 Copyright © 2006. All rights reserved. .

or a date that is included in the SELECT statement.Literal Character Strings • A literal is a character. 1 . . • Date and character literal values must be enclosed by single quotation marks. All rights reserved. • Each character string is output once for each row returned.17 Copyright © 2006. Oracle. a number.

Oracle. . All rights reserved.Using Literal Character Strings SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees.18 Copyright © 2006. … 1 .

it's assigned Manager Id: ]' || manager_id AS "Department and Manager" FROM departments. All rights reserved. … 1 . Oracle.Alternative Quote (q) Operator • Specify your own quotation mark delimiter • Choose any delimiter • Increase readability and usability SELECT department_name || q'[. .19 Copyright © 2006.

. 1 … SELECT DISTINCT department_id FROM employees. Oracle. including duplicate rows.Duplicate Rows The default display of queries is all rows. 2 … 1 . All rights reserved. SELECT department_id FROM employees.20 Copyright © 2006.

21 Copyright © 2006.SQL and iSQL*Plus Interaction SQL statements Internet browser Oracle server iSQL*Plus commands Query results Formatted report Client 1 . All rights reserved. Oracle. .

All rights reserved.22 Copyright © 2006. Oracle. .SQL Statements Versus iSQL*Plus Commands SQL • A language • ANSI standard • Keyword cannot be abbreviated • Statements manipulate data and table definitions in the database iSQL*Plus • An environment • Oracle-proprietary • Keywords can be abbreviated • Commands do not allow manipulation of values in the database • Runs on a browser • Centrally loaded. does not have to be implemented on each machine iSQL*Plus commands SQL statements 1 .

All rights reserved.23 Copyright © 2006. Oracle.Overview of iSQL*Plus After you log in to iSQL*Plus. you can: • Describe table structures • Enter. execute. . and edit SQL statements • Save or append SQL statements to files • Execute or edit statements that are stored in saved script files 1 .

Oracle. All rights reserved.Logging In to iSQL*Plus From your browser environment: 1 . .24 Copyright © 2006.

All rights reserved. .25 Copyright © 2006. Oracle.iSQL*Plus Environment 8 7 9 1 2 3 4 5 1 .

All rights reserved. Oracle.Displaying Table Structure Use the iSQL*Plus DESCRIBE command to display the structure of a table: DESC[RIBE] tablename 1 . .26 Copyright © 2006.

Displaying Table Structure DESCRIBE employees 1 . All rights reserved.27 Copyright © 2006. . Oracle.

1 2 1 . . hire_date.Interacting with Script Files SELECT last_name. All rights reserved. salary FROM employees. Oracle.28 Copyright © 2006.

29 Copyright © 2006.Interacting with Script Files 1 . . All rights reserved. Oracle.

30 Copyright © 2006. All rights reserved. .Interacting with Script Files 1 1 . Oracle.

.Interacting with Script Files D:\TEMP\emp_data.sql 3 1 .31 Copyright © 2006. Oracle. All rights reserved.

iSQL*Plus History Page 3 2 1 1 . Oracle. All rights reserved. .32 Copyright © 2006.

. Oracle.33 Copyright © 2006.iSQL*Plus History Page 3 4 1 . All rights reserved.

Setting iSQL*Plus Preferences 1 2 3 1 .34 Copyright © 2006. All rights reserved. Oracle. .

Oracle.35 Copyright © 2006. .Setting the Output Location Preference 2 1 1 . All rights reserved.

1 .. you should have learned how to: • Write a SELECT statement that: – Returns all rows and columns from a table – Returns specified columns from a table – Uses column aliases to display more descriptive column headings • Use the iSQL*Plus environment to write. Oracle.} FROM table. save.36 Copyright © 2006.Summary In this lesson.. and execute SQL statements and iSQL*Plus commands SELECT *|{[DISTINCT] column|expression [alias]. All rights reserved. ..

All rights reserved. .37 Copyright © 2006.Practice 1: Overview This practice covers the following topics: • Selecting all data from different tables • Describing the structure of tables • Performing arithmetic calculations and specifying column names • Using iSQL*Plus 1 . Oracle.

Sign up to vote on this title
UsefulNot useful