36
1 Copyright © Oracle Corporation, 2001. All rights reserved. Writing Basic SQL SELECT Statements

Writing Basic SQL SELECT Statements

Embed Size (px)

Citation preview

Page 1: Writing Basic SQL SELECT Statements

1Copyright © Oracle Corporation, 2001. All rights reserved.

Writing Basic SQL SELECT Statements

Page 2: Writing Basic SQL SELECT Statements

1-2 Copyright © Oracle Corporation, 2001. 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: Writing Basic SQL SELECT Statements

1-3 Copyright © Oracle Corporation, 2001. All rights reserved.

Capabilities of SQL SELECT Statements

SelectionProjection

Table 1 Table 2

Table 1Table 1

Join

Page 4: Writing Basic SQL SELECT Statements

1-4 Copyright © Oracle Corporation, 2001. All rights reserved.

Basic SELECT Statement

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

• SELECT identifies what columns• FROM identifies which table

Page 5: Writing Basic SQL SELECT Statements

1-5 Copyright © Oracle Corporation, 2001. All rights reserved.

SELECT *FROM departments;

Selecting All Columns

Page 6: Writing Basic SQL SELECT Statements

1-6 Copyright © Oracle Corporation, 2001. All rights reserved.

Selecting Specific Columns

SELECT department_id, location_idFROM departments;

Page 7: Writing Basic SQL SELECT Statements

1-7 Copyright © Oracle Corporation, 2001. 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.

Page 8: Writing Basic SQL SELECT Statements

1-8 Copyright © Oracle Corporation, 2001. All rights reserved.

Column Heading Defaults

• iSQL*Plus:– Default heading justification: Center– Default heading display: Uppercase

• SQL*Plus:– Character and Date column headings are left-

justified– Number column headings are right-justified– Default heading display: Uppercase

Page 9: Writing Basic SQL SELECT Statements

1-9 Copyright © Oracle Corporation, 2001. All rights reserved.

Arithmetic Expressions

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

Operator

+

-

*

/

Description

Add

Subtract

Multiply

Divide

Page 10: Writing Basic SQL SELECT Statements

1-10 Copyright © Oracle Corporation, 2001. All rights reserved.

Using Arithmetic Operators

SELECT last_name, salary, salary + 300FROM employees;

Page 11: Writing Basic SQL SELECT Statements

1-11 Copyright © Oracle Corporation, 2001. All rights reserved.

Operator Precedence

• Multiplication and division take priority over addition and subtraction.

• Operators of the same priority are evaluated from left to right.

• Parentheses are used to force prioritized evaluation and to clarify statements.

** // ++ __

Page 12: Writing Basic SQL SELECT Statements

1-12 Copyright © Oracle Corporation, 2001. All rights reserved.

Operator Precedence

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

Page 13: Writing Basic SQL SELECT Statements

1-13 Copyright © Oracle Corporation, 2001. All rights reserved.

Using Parentheses

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

Page 14: Writing Basic SQL SELECT Statements

1-14 Copyright © Oracle Corporation, 2001. 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 zero or a blank space.SELECT last_name, job_id, salary, commission_pctFROM employees;

Page 15: Writing Basic SQL SELECT Statements

1-15 Copyright © Oracle Corporation, 2001. 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: Writing Basic SQL SELECT Statements

1-16 Copyright © Oracle Corporation, 2001. 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 is case sensitive

Page 17: Writing Basic SQL SELECT Statements

1-17 Copyright © Oracle Corporation, 2001. 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: Writing Basic SQL SELECT Statements

1-18 Copyright © Oracle Corporation, 2001. All rights reserved.

Concatenation Operator

A concatenation operator:• Concatenates columns or character strings to

other columns • Is represented by two vertical bars (||)• Creates a resultant column that is a character

expression

Page 19: Writing Basic SQL SELECT Statements

1-19 Copyright © Oracle Corporation, 2001. All rights reserved.

Using the Concatenation Operator

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

Page 20: Writing Basic SQL SELECT Statements

1-20 Copyright © Oracle Corporation, 2001. All rights reserved.

Literal Character Strings

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

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

• Each character string is output once for eachrow returned.

Page 21: Writing Basic SQL SELECT Statements

1-21 Copyright © Oracle Corporation, 2001. All rights reserved.

Using Literal Character Strings

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

Page 22: Writing Basic SQL SELECT Statements

1-22 Copyright © Oracle Corporation, 2001. All rights reserved.

Duplicate Rows

The default display of queries is all rows, including duplicate rows.SELECT department_idFROM employees;

Page 23: Writing Basic SQL SELECT Statements

1-23 Copyright © Oracle Corporation, 2001. All rights reserved.

Eliminating Duplicate Rows

Eliminate duplicate rows by using the DISTINCT keyword in the SELECT clause.SELECT DISTINCT department_idFROM employees;

Page 24: Writing Basic SQL SELECT Statements

1-24 Copyright © Oracle Corporation, 2001. All rights reserved.

SQL and iSQL*Plus Interaction

SQL statementsOracleserver

Query resultsQuery resultsiSQL*Plus commands

Client

Formatted report

Internet Internet BrowserBrowser

iiSQL*PlusSQL*Plus

Page 25: Writing Basic SQL SELECT Statements

1-25 Copyright © Oracle Corporation, 2001. All rights reserved.

SQL Statements Versus iSQL*Plus Commands

SQLSQLstatementsstatements

SQL • A language• ANSI standard• Keyword cannot be

abbreviated• Statements manipulate

data and table definitions in the database

iiSQL*PlusSQL*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

iiSQL*PlusSQL*Pluscommandscommands

Page 26: Writing Basic SQL SELECT Statements

1-26 Copyright © Oracle Corporation, 2001. All rights reserved.

Overview of iSQL*Plus

After you log into iSQL*Plus, you can:• Describe the table structure• Edit your SQL statement• Execute SQL from iSQL*Plus• Save SQL statements to files and append SQL

statements to files• Execute statements stored in saved files• Load commands from a text file into the iSQL*Plus

Edit window

Page 27: Writing Basic SQL SELECT Statements

1-27 Copyright © Oracle Corporation, 2001. All rights reserved.

Logging In to iSQL*Plus

From your Windows browser environment:

Page 28: Writing Basic SQL SELECT Statements

1-28 Copyright © Oracle Corporation, 2001. All rights reserved.

The iSQL*Plus Environment

3 4 5

6

71

2

8 910

Page 29: Writing Basic SQL SELECT Statements

1-29 Copyright © Oracle Corporation, 2001. All rights reserved.

Displaying Table Structure

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

DESC[RIBE] tablename

Page 30: Writing Basic SQL SELECT Statements

1-30 Copyright © Oracle Corporation, 2001. All rights reserved.

Displaying Table Structure

DESCRIBE employees

Page 31: Writing Basic SQL SELECT Statements

1-31 Copyright © Oracle Corporation, 2001. All rights reserved.

Interacting with Script Files

SELECT last_name, hire_date, salaryFROM employees; 1

2

Page 32: Writing Basic SQL SELECT Statements

1-32 Copyright © Oracle Corporation, 2001. All rights reserved.

Interacting with Script Files

1

D:\temp\emp_sql.htm

2SELECT last_name, hire_date, salaryFROM employees;

3

Page 33: Writing Basic SQL SELECT Statements

1-33 Copyright © Oracle Corporation, 2001. All rights reserved.

Interacting with Script Files

DESCRIBE employeesSELECT first_name, last_name, job_idFROM employees;

1

23

Page 34: Writing Basic SQL SELECT Statements

1-34 Copyright © Oracle Corporation, 2001. All rights reserved.

Summary

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

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 give descriptive column

headings

• Use the iSQL*Plus environment to write, save, and execute SQL statements and iSQL*Plus commands.

Page 35: Writing Basic SQL SELECT Statements

1-35 Copyright © Oracle Corporation, 2001. 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

Page 36: Writing Basic SQL SELECT Statements

1-40 Copyright © Oracle Corporation, 2001. All rights reserved.