1 copyright © 2006, oracle. all rights reserved. retrieving data using the sql select statement
TRANSCRIPT
![Page 1: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/1.jpg)
1Copyright © 2006, Oracle. All rights reserved.
Retrieving Data Using the SQL SELECT Statement
![Page 2: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/2.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 2
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/3.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 3
Capabilities of SQL SELECT Statements
Selection(where)Projection(select)
Table 1(Main) Table 2(Sub)
Table 1Table 1
Join(link)
![Page 4: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/4.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 4
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/5.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 5
Selecting All Columns( 모든 컬럼 선택 )
SELECT *FROM departments;
![Page 6: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/6.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 6
Selecting Specific Columns( 특정 컬럼 선택 )
SELECT department_id, location_idFROM departments;
![Page 7: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/7.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 7
Writing SQL Statements(SQL 구문 쓰는법 )
• 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 8: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/8.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 8
Column Heading Defaults
• iSQL*Plus:(web)– Default heading alignment: Center– Default heading display: Uppercase
• SQL*Plus:(cmd)– Character and Date column headings are left-aligned– Number column headings are right-aligned– Default heading display: Uppercase
![Page 9: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/9.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 9
Arithmetic Expressions( 수식 연산 )
Create expressions with number and date data by using arithmetic operators.
Operator Description
+ Add
- Subtract
* Multiply
/ Divide
![Page 10: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/10.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 10
SELECT last_name, salary, salary + 300FROM employees;
Using Arithmetic Operators( 수식 연산자 사용 )
…
![Page 11: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/11.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 11
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/12.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 12
Defining a Null Value(null 값의 정의 )
• 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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/13.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 13
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/14.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 14
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/15.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 15
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/16.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 16
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/17.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 17
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/18.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 18
Using Literal Character Strings
…
SELECT last_name ||' is a '||job_id AS "Employee Details"FROM employees;
![Page 19: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/19.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 19
Alternative Quote (q) Operator(10g 기능 )
• 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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/20.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 20
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/21.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 21
SQL and iSQL*Plus Interaction
SQL statements
Query resultsiSQL*Plus commands
Client
Formatted report
Internet browser
Oracleserver
![Page 22: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/22.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 22
SQL Statements Versus iSQL*Plus Commands
SQLstatements
SQL(ANSI SQL:1999)• 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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/23.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 23
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/24.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 24
Logging In to iSQL*Plus
From your browser environment:
![Page 25: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/25.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 25
iSQL*Plus Environment
6
3 4 5
1
2
8 9
7
![Page 26: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/26.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 26
Displaying Table Structure( 테이블 구조 출력 )
Use the iSQL*Plus DESCRIBE command to display the structure of a table:
DESC[RIBE] tablename
![Page 27: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/27.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 27
Displaying Table Structure( 테이블 구조 설명 )
DESCRIBE employees
User_tables
User_tab_cols
![Page 28: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/28.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 28
Interacting with Script Files
SELECT last_name, hire_date, salaryFROM employees;
1
2
![Page 29: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/29.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 29
Interacting with Script Files
![Page 30: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/30.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 30
Interacting with Script Files
1
![Page 31: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/31.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 31
Interacting with Script Files
2
3
D:\TEMP\emp_data.sql
![Page 32: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/32.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 32
iSQL*Plus History Page
1
2
3
![Page 33: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/33.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 33
iSQL*Plus History Page
3
4
![Page 34: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/34.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 34
Setting iSQL*Plus Preferences
2
3
1
![Page 35: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/35.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 35
Setting the Output Location Preference
1
2
![Page 36: 1 Copyright © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/36.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 36
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 © 2006, Oracle. All rights reserved. Retrieving Data Using the SQL SELECT Statement](https://reader036.vdocuments.site/reader036/viewer/2022070407/56649e4d5503460f94b43f1f/html5/thumbnails/37.jpg)
Copyright © 2006, Oracle. All rights reserved.1 - 37
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