sql les01

Upload: ram5584

Post on 31-May-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 SQL Les01

    1/40

    1Copyright Oracle Corporation, 2001. All rights reserved.

    Writing Basic

    SQL SELECT Statements

  • 8/14/2019 SQL Les01

    2/40

    1-2 Copyright Oracle Corporation, 2001. All rights reserved.

    Objectives

    After completing this lesson, you should be able todo the following:

    List the capabilities of SQL SELECT statements

    Execute a basic SELECT statement Differentiate between SQL statements and

    iSQL*Plus commands

  • 8/14/2019 SQL Les01

    3/40

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

    Capabilities of SQL SELECT Statements

    SelectionProjection

    Table 1 Table 2

    Table 1Table 1

    Join

  • 8/14/2019 SQL Les01

    4/40

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

    Basic SELECT Statement

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

    SELECT identifies whatcolumns

    FROMidentifies which table

  • 8/14/2019 SQL Les01

    5/40

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

    SELECT *FROM departments;

    Selecting All Columns

  • 8/14/2019 SQL Les01

    6/40

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

    Selecting Specific Columns

    SELECT department_id, location_idFROM departments;

  • 8/14/2019 SQL Les01

    7/401-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.

  • 8/14/2019 SQL Les01

    8/401-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

  • 8/14/2019 SQL Les01

    9/401-9 Copyright Oracle Corporation, 2001. All rights reserved.

    Arithmetic Expressions

    Create expressions with number and date data byusing arithmetic operators.

    Operator

    +

    -

    *

    /

    Description

    Add

    Subtract

    Multiply

    Divide

  • 8/14/2019 SQL Les01

    10/401-10 Copyright Oracle Corporation, 2001. All rights reserved.

    Using Arithmetic Operators

    SELECT last_name, salary, salary + 300FROM employees;

  • 8/14/2019 SQL Les01

    11/401-11 Copyright Oracle Corporation, 2001. All rights reserved.

    Operator Precedence

    Multiplication and division take priority overaddition and subtraction.

    Operators of the same priority are evaluated fromleft to right.

    Parentheses are used to force prioritizedevaluation and to clarify statements.

    ** // ++ __

  • 8/14/2019 SQL Les01

    12/401-12 Copyright Oracle Corporation, 2001. All rights reserved.

    Operator Precedence

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

  • 8/14/2019 SQL Les01

    13/401-13 Copyright Oracle Corporation, 2001. All rights reserved.

    Using Parentheses

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

  • 8/14/2019 SQL Les01

    14/401-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.

    ECT last_name, job_id, salary, commission_pctM employees;

  • 8/14/2019 SQL Les01

    15/401-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 valueevaluate to null.

  • 8/14/2019 SQL Les01

    16/401-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 canalso be the optionalAS keyword between thecolumn name and alias

    Requires double quotation marks if it contains

    spaces or special characters or is case sensitive

  • 8/14/2019 SQL Les01

    17/401-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;

  • 8/14/2019 SQL Les01

    18/401-18 Copyright Oracle Corporation, 2001. All rights reserved.

    Concatenation Operator

    A concatenation operator:

    Concatenates columns or character strings toother columns

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

    expression

  • 8/14/2019 SQL Les01

    19/401-19 Copyright Oracle Corporation, 2001. All rights reserved.

    Using the Concatenation Operator

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

  • 8/14/2019 SQL Les01

    20/401-20 Copyright Oracle Corporation, 2001. All rights reserved.

    Literal Character Strings

    A literal is a character, a number, or a dateincluded in the SELECT list.

    Date and character literal values must be enclosed

    within single quotation marks. Each character string is output once for each

    row returned.

  • 8/14/2019 SQL Les01

    21/401-21 Copyright Oracle Corporation, 2001. All rights reserved.

    Using Literal Character Strings

    SELECT last_name ||' is a '||job_idAS "Employee Details"

    FROM employees;

  • 8/14/2019 SQL Les01

    22/40

    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;

  • 8/14/2019 SQL Les01

    23/40

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

    Eliminating Duplicate Rows

    Eliminate duplicate rows by using the DISTINCTkeyword in the SELECT clause.

    SELECT DISTINCT department_idFROM employees;

  • 8/14/2019 SQL Les01

    24/40

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

    SQL and iSQL*Plus Interaction

    SQL statements

    Oracleserver

    Query resultsQuery resultsiSQL*Plus

    commands

    Client

    Formatted report

    InternetInternet

    BrowserBrowser

    iiSQL*PlusSQL*Plus

  • 8/14/2019 SQL Les01

    25/40

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

    SQL Statements Versus

    iSQL*Plus Commands

    SQLSQL

    statementsstatements

    SQL A language

    ANSI standard

    Keyword cannot beabbreviated

    Statements manipulatedata and table definitionsin the database

    iiSQL*PlusSQL*Plus An environment

    Oracle proprietary

    Keywords can beabbreviated

    Commands do not allowmanipulation of values inthe database

    Runs on a browser

    Centrally loaded, does not

    have to be implementedon each machine

    iiSQL*PlusSQL*Plus

    commandscommands

  • 8/14/2019 SQL Les01

    26/40

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

    Overview ofiSQL*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 SQLstatements to files

    Execute statements stored in saved files

    Load commands from a text file into the iSQL*PlusEdit window

  • 8/14/2019 SQL Les01

    27/40

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

    Logging In to iSQL*Plus

    From your Windows browser environment:

  • 8/14/2019 SQL Les01

    28/40

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

    The iSQL*Plus Environment

    3 4 5

    6

    71

    2

    8 910

  • 8/14/2019 SQL Les01

    29/40

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

    Displaying Table Structure

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

    DESC[RIBE] tablename

  • 8/14/2019 SQL Les01

    30/40

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

    Displaying Table Structure

    DESCRIBE employees

  • 8/14/2019 SQL Les01

    31/40

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

    Interacting with Script Files

    SELECT last_name, hire_date, salaryFROM employees; 1

    2

  • 8/14/2019 SQL Les01

    32/40

    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

  • 8/14/2019 SQL Les01

    33/40

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

    Interacting with Script Files

    DESCRIBE employeesSELECT first_name, last_name, job_idFROM employees;

    1

    23

  • 8/14/2019 SQL Les01

    34/40

    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 columnheadings

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

  • 8/14/2019 SQL Les01

    35/40

    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 specifyingcolumn names

    Using iSQL*Plus

  • 8/14/2019 SQL Les01

    36/40

    1-36 Copyright Oracle Corporation, 2001. All rights reserved.

  • 8/14/2019 SQL Les01

    37/40

    1-37 Copyright Oracle Corporation, 2001. All rights reserved.

  • 8/14/2019 SQL Les01

    38/40

    1-38 Copyright Oracle Corporation, 2001. All rights reserved.

  • 8/14/2019 SQL Les01

    39/40

    1-39 Copyright Oracle Corporation, 2001. All rights reserved.

  • 8/14/2019 SQL Les01

    40/40