BDI LProyeccion

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

Retrieving Data Using

the SQL SELECT Statement


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
Capabilities of SQL SELECT Statements

Projection Selection

Table 1 Table 1

Join

Table 1 Table 2

1-3
Basic SELECT Statement

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


FROM table;

• SELECT identifies the columns to be displayed


• FROM identifies the table containing those columns

1-4
Selecting All Columns

SELECT *
FROM departments;

1-5
Selecting Specific Columns

SELECT department_id, location_id


FROM departments;

1-6
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 SQL*plus, you are required to end each SQL
statement with a semicolon (;).

1-7
Column Heading Defaults

• SQL*Plus:
– Character and Date column headings are left-
aligned
– Number column headings are right-aligned
– Default heading display: Uppercase

1-8
Arithmetic Expressions

Create expressions with number and date data by


using arithmetic operators.
Operator Description
+ Add
- Subtract
* Multiply
/ Divide

1-9
Using Arithmetic Operators

SELECT last_name, salary, salary + 300


FROM employees;

1-10
Operator Precedence

SELECT last_name, salary, 12*salary+100


FROM employees; 1


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

1-11
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_pct
FROM employees;

1-12
Null Values
in Arithmetic Expressions

Arithmetic expressions containing a null value


evaluate to null.
SELECT last_name, 12*salary*commission_pct
FROM employees;

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

1-14
Using Column Aliases

SELECT last_name AS name, commission_pct comm


FROM employees;

SELECT last_name "Name" , salary*12 "Annual Salary"


FROM employees;

1-15
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;

1-16
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 each
row returned.

1-17
Using Literal Character Strings

SELECT last_name ||' is a '||job_id


AS "Employee Details"
FROM employees;

1-18
Duplicate Rows

The default display of queries is all rows, including


duplicate rows.
SELECT department_id
FROM employees; 1


SELECT DISTINCT department_id
FROM employees; 2

1-19
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;

1-20
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-21

You might also like