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

Retrieving Data Using the SQL SELECT Statement

Embed Size (px)

DESCRIPTION

Retrieving Data Using the SQL SELECT Statement. قالوا. قال رسول الله صلى الله عليه وسلم لا تكثروا الكلام بغير ذكر الله فإن كثرة الكلام بغير ذكر الله قسوة للقلب وإن أبعد الناس من الله القلب القاسي. Objectives. After completing this lesson, you should be able to do the following: - PowerPoint PPT Presentation

Citation preview

Page 1: Retrieving Data Using  the SQL  SELECT  Statement

1Copyright © 2004, Oracle. All rights reserved.

Retrieving Data Using the SQL SELECT Statement

Page 2: Retrieving Data Using  the SQL  SELECT  Statement

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

قالوا

قال رسول الله صلى الله قال رسول الله صلى الله عليه وسلمعليه وسلم

ال تكثروا الكالم بغير ذكر الله ال تكثروا الكالم بغير ذكر الله فإن كثرة الكالم بغير ذكر فإن كثرة الكالم بغير ذكر

الله قسوة للقلب وإن أبعد الله قسوة للقلب وإن أبعد الناس من الله القلب الناس من الله القلب

القاسي القاسي

Page 3: Retrieving Data Using  the SQL  SELECT  Statement

1-3 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 4: Retrieving Data Using  the SQL  SELECT  Statement

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

Tables Used in the Course

EMPLOYEES

DEPARTMENTS JOB_GRADES

Page 5: Retrieving Data Using  the SQL  SELECT  Statement

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

Capabilities of SQL SELECT Statements

SelectionProjection

Table 1 Table 2

Table 1Table 1

Join

Page 6: Retrieving Data Using  the SQL  SELECT  Statement

1-6 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 7: Retrieving Data Using  the SQL  SELECT  Statement

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

Selecting All Columns

SELECT *FROM departments;

Page 8: Retrieving Data Using  the SQL  SELECT  Statement

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

Selecting Specific Columns

SELECT department_id, location_idFROM departments;

Page 9: Retrieving Data Using  the SQL  SELECT  Statement

1-9 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 split

across 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 10: Retrieving Data Using  the SQL  SELECT  Statement

1-10 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 11: Retrieving Data Using  the SQL  SELECT  Statement

1-11 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 12: Retrieving Data Using  the SQL  SELECT  Statement

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

SELECT last_name, salary, salary + 300FROM employees;

Using Arithmetic Operators

Page 13: Retrieving Data Using  the SQL  SELECT  Statement

1-13 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 14: Retrieving Data Using  the SQL  SELECT  Statement

1-14 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 15: Retrieving Data Using  the SQL  SELECT  Statement

1-15 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 16: Retrieving Data Using  the SQL  SELECT  Statement

1-16 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 17: Retrieving Data Using  the SQL  SELECT  Statement

1-17 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 18: Retrieving Data Using  the SQL  SELECT  Statement

1-18 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

expressionSELECT last_name||job_id AS "Employees"FROM employees;

Page 19: Retrieving Data Using  the SQL  SELECT  Statement

1-19 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 20: Retrieving Data Using  the SQL  SELECT  Statement

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

Using Literal Character Strings

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

Page 21: Retrieving Data Using  the SQL  SELECT  Statement

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

Alternative Quote (q) Operator

• Specify your own quotation mark delimiter• Choose any delimiter• Increase readability and usabilitySELECT department_name || q'[, it's assigned Manager Id: ]' || manager_id AS "Department and Manager" FROM departments;

Page 22: Retrieving Data Using  the SQL  SELECT  Statement

1-22 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 23: Retrieving Data Using  the SQL  SELECT  Statement

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

SQL and iSQL*Plus Interaction

SQL statements

Query resultsiSQL*Plus commands

ClientFormatted report

Internet browser

Oracleserver

Page 24: Retrieving Data Using  the SQL  SELECT  Statement

1-24 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 25: Retrieving Data Using  the SQL  SELECT  Statement

1-25 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 26: Retrieving Data Using  the SQL  SELECT  Statement

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

Logging In to iSQL*Plus

From your browser environment:

Page 27: Retrieving Data Using  the SQL  SELECT  Statement

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

iSQL*Plus Environment

6

3 4 5

1

2

8 9

7

Page 28: Retrieving Data Using  the SQL  SELECT  Statement

1-28 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 29: Retrieving Data Using  the SQL  SELECT  Statement

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

Displaying Table Structure

DESCRIBE employees

Page 30: Retrieving Data Using  the SQL  SELECT  Statement

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

Interacting with Script Files

SELECT last_name, hire_date, salaryFROM employees; 1

2

Page 31: Retrieving Data Using  the SQL  SELECT  Statement

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

Interacting with Script Files

Page 32: Retrieving Data Using  the SQL  SELECT  Statement

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

Interacting with Script Files

1

Page 33: Retrieving Data Using  the SQL  SELECT  Statement

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

Interacting with Script Files

23

D:\TEMP\emp_data.sql

Page 34: Retrieving Data Using  the SQL  SELECT  Statement

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

iSQL*Plus History Page

1

2

3

Page 35: Retrieving Data Using  the SQL  SELECT  Statement

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

iSQL*Plus History Page

3

4

Page 36: Retrieving Data Using  the SQL  SELECT  Statement

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

Setting iSQL*Plus Preferences

23

1

Page 37: Retrieving Data Using  the SQL  SELECT  Statement

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

Setting the Output Location Preference

1

2

Page 38: Retrieving Data Using  the SQL  SELECT  Statement

1-38 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 39: Retrieving Data Using  the SQL  SELECT  Statement

1-39 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