Objectives

Retrieving Data Using the SQL SELECT Statement

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

Copyright © 2006, Oracle. All rights reserved.

1-2

Copyright © 2006, Oracle. All rights reserved.

Capabilities of SQL SELECT Statements

Basic SELECT Statement

Projection

Selection

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

• SELECT identifies the columns to be displayed. • FROM identifies the table containing those columns.
Table 1 Join Table 1

Table 1
1-3

Table 2
Copyright © 2006, Oracle. All rights reserved. 1-4 Copyright © 2006, Oracle. All rights reserved.

). Oracle. . • 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-7 Copyright © 2006. 1-6 Copyright © 2006. Oracle. SQL statements can optionally be terminated by a semicolon (. • SQL statements can be on one or more lines. All rights reserved. All rights reserved. 1-8 Copyright © 2006. All rights reserved. SELECT department_id. • Keywords cannot be abbreviated or split across lines. Oracle. Oracle. Writing SQL Statements Column Heading Defaults • SQL statements are not case sensitive. • In SQL*Plus. All rights reserved. Semicolons are required if you execute multiple SQL statements. • Clauses are usually placed on separate lines.Selecting All Columns Selecting Specific Columns SELECT * FROM departments. 1-5 Copyright © 2006. • Indents are used to enhance readability. location_id FROM departments. you are required to end each SQL statement with a semicolon (. • In iSQL*Plus.).

All rights reserved. SELECT last_name. . salary.12 Copyright © 2006. Oracle. • A null is not the same as a zero or a blank space. job_id. … SELECT last_name. Oracle. 1 .10 Copyright © 2006. commission_pct FROM employees.Arithmetic Expressions Using Arithmetic Operators Create expressions with number and date data by using arithmetic operators. … 1-9 Copyright © 2006. unassigned. unknown. 2 … … … 1 . salary. All rights reserved. salary. 12*(salary+100) FROM employees. 1 • A null is a value that is unavailable. 12*salary+100 FROM employees. All rights reserved. All rights reserved. salary + 300 FROM employees.11 Copyright © 2006. or inapplicable. Operator + * / Description Add Subtract Multiply Divide SELECT last_name. Oracle. 1 . Operator Precedence Defining a Null Value SELECT last_name. salary. Oracle.

All rights reserved. … SELECT last_name "Name" .) • Requires double quotation marks if it contains spaces or special characters or if it is case sensitive 1 .Null Values in Arithmetic Expressions Arithmetic expressions containing a null value evaluate to null. Using Column Aliases Concatenation Operator SELECT last_name AS name. Oracle. 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.16 … Copyright © 2006. Oracle. salary*12 "Annual Salary" FROM employees.15 Copyright © 2006. All rights reserved. 1 . commission_pct comm FROM employees.13 Copyright © 2006. Oracle. Oracle. 12*salary*commission_pct FROM employees. SELECT last_name. . All rights reserved. … 1 . 1 . All rights reserved. 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.14 Copyright © 2006.

All rights reserved. 1 . All rights reserved. Alternative Quote (q) Operator Duplicate Rows • Specify your own quotation mark delimiter • Choose any delimiter • Increase readability and usability SELECT department_name || q'[. it's assigned Manager Id: ]' || manager_id AS "Department and Manager" FROM departments.Literal Character Strings Using Literal Character Strings • A literal is a character. Oracle. Oracle. 1 … SELECT DISTINCT department_id FROM employees. . SELECT department_id FROM employees. All rights reserved. or a date that is included in the SELECT statement. … 1 . including duplicate rows. All rights reserved. • Each character string is output once for each row returned. • Date and character literal values must be enclosed by single quotation marks. 2 … … 1 . SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees.17 Copyright © 2006. a number. Oracle.20 Copyright © 2006. The default display of queries is all rows.19 Copyright © 2006. 1 .18 Copyright © 2006. Oracle.

does not have to be implemented on each machine iSQL*Plus commands SQL statements Internet browser Oracle server iSQL*Plus commands Query results Formatted report Client SQL statements 1 . Oracle. Oracle. Oracle.23 Copyright © 2006. All rights reserved. .21 Copyright © 2006.24 Copyright © 2006.SQL and iSQL*Plus Interaction 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. Oracle. Overview of iSQL*Plus Logging In to iSQL*Plus After you log in to iSQL*Plus. 1 . execute. All rights reserved. and edit SQL statements • Save or append SQL statements to files • Execute or edit statements that are stored in saved script files From your browser environment: 1 .22 Copyright © 2006. you can: • Describe table structures • Enter. 1 . All rights reserved. All rights reserved.

1 .25 Copyright © 2006. Oracle. . salary FROM employees. Oracle. All rights reserved. Oracle. All rights reserved.28 Copyright © 2006.26 Copyright © 2006.iSQL*Plus Environment 8 7 9 Displaying Table Structure Use the iSQL*Plus DESCRIBE command to display the structure of a table: DESC[RIBE] tablename 1 2 3 4 5 6 1 . All rights reserved. 1 . hire_date. Oracle. Displaying Table Structure Interacting with Script Files DESCRIBE employees SELECT last_name. 1 2 1 .27 Copyright © 2006. All rights reserved.

All rights reserved. Oracle.30 Copyright © 2006. Oracle.31 Copyright © 2006. Oracle.sql 2 1 3 1 .Interacting with Script Files Interacting with Script Files 1 1 . Oracle. All rights reserved.32 Copyright © 2006. 1 . All rights reserved.29 Copyright © 2006. 1 . Interacting with Script Files iSQL*Plus History Page 3 2 D:\TEMP\emp_data. All rights reserved. .

36 Copyright © 2006. All rights reserved. Oracle. save.iSQL*Plus History Page Setting iSQL*Plus Preferences 3 1 2 4 3 1 . .35 Copyright © 2006. Setting the Output Location Preference 2 Summary In this lesson. 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. All rights reserved.} FROM table.33 Copyright © 2006. Oracle. 1 . Oracle. 1 . and execute SQL statements and iSQL*Plus commands 1 SELECT *|{[DISTINCT] column|expression [alias]..34 Copyright © 2006... Oracle. All rights reserved. All rights reserved. 1 .

1 . 1 . All rights reserved.38 Copyright © 2006. All rights reserved. . Oracle. 1 . All rights reserved.40 Copyright © 2006. Oracle. Oracle.39 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 . All rights reserved.37 Copyright © 2006. Oracle.

42 Copyright © 2006. 1 . All rights reserved. Oracle. . All rights reserved.1 .41 Copyright © 2006. Oracle.