37
1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1Copyright © 2004, Oracle. All rights reserved.

Retrieving Data Using the SQL SELECT Statement

Page 2: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-2 Copyright © 2004, 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

Page 3: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-3 Copyright © 2004, Oracle. All rights reserved.

Capabilities of SQL SELECT Statements

SelectionProjection

Table 1 Table 2

Table 1Table 1

Join

Page 4: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-4 Copyright © 2004, Oracle. All rights reserved.

Basic SELECT Statement

• SELECT identifies the columns to be displayed

• FROM identifies the table containing those columns

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

Page 5: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-5 Copyright © 2004, Oracle. All rights reserved.

Selecting All Columns

SELECT *FROM departments;

Page 6: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-6 Copyright © 2004, Oracle. All rights reserved.

Selecting Specific Columns

SELECT department_id, location_idFROM departments;

Page 7: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-7 Copyright © 2004, Oracle. All rights reserved.

Writing SQL Statements

• SQL statements are not case-sensitive.

• SQL statements can be on one or more lines.

• Keywords cannot be abbreviated or splitacross lines.

• Clauses are usually placed on separate lines.

• Indents are used to enhance readability.

• In iSQL*Plus, SQL statements can optionally be terminated by a semicolon (;). Semicolons are required if you execute multiple SQL statements.

• In SQL*plus, you are required to end each SQL statement with a semicolon (;).

Page 8: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-8 Copyright © 2004, Oracle. 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

Page 9: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-9 Copyright © 2004, Oracle. All rights reserved.

Arithmetic Expressions

Create expressions with number and date data by using arithmetic operators.

Operator Description

+ Add

- Subtract

* Multiply

/ Divide

Page 10: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-10 Copyright © 2004, Oracle. All rights reserved.

SELECT last_name, salary, salary + 300FROM employees;

Using Arithmetic Operators

Page 11: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-11 Copyright © 2004, Oracle. All rights reserved.

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

Operator Precedence

SELECT last_name, salary, 12*(salary+100)FROM employees;

1

2

Page 12: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-12 Copyright © 2004, Oracle. All rights reserved.

Defining a Null Value

• A null is a value that is unavailable, unassigned, unknown, or inapplicable.

• A null is not the same as a zero or a blank space.

SELECT last_name, job_id, salary, commission_pctFROM employees;

Page 13: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-13 Copyright © 2004, Oracle. All rights reserved.

SELECT last_name, 12*salary*commission_pctFROM employees;

Null Values in Arithmetic Expressions

Arithmetic expressions containing a null value evaluate to null.

Page 14: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-14 Copyright © 2004, Oracle. 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.)

• Requires double quotation marks if it contains spaces or special characters or if it is case-sensitive

Page 15: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-15 Copyright © 2004, Oracle. All rights reserved.

Using Column Aliases

SELECT last_name "Name" , salary*12 "Annual Salary"FROM employees;

SELECT last_name AS name, commission_pct commFROM employees;

Page 16: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-16 Copyright © 2004, Oracle. All rights reserved.

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 last_name||job_id AS "Employees"FROM employees;

Page 17: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-17 Copyright © 2004, Oracle. All rights reserved.

Literal Character Strings

• A literal is a character, a number, or a date that is included in the SELECT statement.

• Date and character literal values must be enclosed by single quotation marks.

• Each character string is output once for eachrow returned.

Page 18: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-18 Copyright © 2004, Oracle. All rights reserved.

Using Literal Character Strings

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

Page 19: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-19 Copyright © 2004, Oracle. All rights reserved.

Alternative Quote (q) Operator

• 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;

Page 20: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-20 Copyright © 2004, Oracle. All rights reserved.

Duplicate Rows

The default display of queries is all rows, including duplicate rows.

SELECT department_idFROM employees;

SELECT DISTINCT department_idFROM employees;

1

2

Page 21: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-21 Copyright © 2004, Oracle. All rights reserved.

SQL and iSQL*Plus Interaction

SQL statements

Query resultsiSQL*Plus commands

Client

Formatted report

Internet browser

Oracleserver

Page 22: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-22 Copyright © 2004, Oracle. All rights reserved.

SQL Statements Versus iSQL*Plus Commands

SQLstatements

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*Pluscommands

Page 23: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-23 Copyright © 2004, Oracle. All rights reserved.

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

Page 24: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-24 Copyright © 2004, Oracle. All rights reserved.

Logging In to iSQL*Plus

From your browser environment:

Page 25: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-25 Copyright © 2004, Oracle. All rights reserved.

iSQL*Plus Environment

6

3 4 5

1

2

8 9

7

Page 26: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-26 Copyright © 2004, Oracle. All rights reserved.

Displaying Table Structure

Use the iSQL*Plus DESCRIBE command to display the structure of a table:

DESC[RIBE] tablename

Page 27: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-27 Copyright © 2004, Oracle. All rights reserved.

Displaying Table Structure

DESCRIBE employees

Page 28: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-28 Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

SELECT last_name, hire_date, salaryFROM employees;

1

2

Page 29: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-29 Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

Page 30: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-30 Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

1

Page 31: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-31 Copyright © 2004, Oracle. All rights reserved.

Interacting with Script Files

2

3

D:\TEMP\emp_data.sql

Page 32: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-32 Copyright © 2004, Oracle. All rights reserved.

iSQL*Plus History Page

1

2

3

Page 33: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-33 Copyright © 2004, Oracle. All rights reserved.

iSQL*Plus History Page

3

4

Page 34: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-34 Copyright © 2004, Oracle. All rights reserved.

Setting iSQL*Plus Preferences

2

3

1

Page 35: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-35 Copyright © 2004, Oracle. All rights reserved.

Setting the Output Location Preference

1

2

Page 36: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-36 Copyright © 2004, Oracle. All rights reserved.

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, save, and execute SQL statements and iSQL*Plus commands

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

Page 37: 1 Copyright © 2004, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement

1-37 Copyright © 2004, Oracle. All rights reserved.

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