幻灯片 1
Copyright © Oracle Corporation, 2001. All rights reserved.
编写基本的 SQL SELECT 语句
进度表: 时间 主题
40 分钟 讲演
25 分钟 练习
65 分钟 总共
幻灯片 2
1-2
Copyright © Oracle Corporation, 2001. All rights reserved.
目标
完成本课后, 您应当能够:
• 列出 SQL SELECT 语句的功能
• 执行基本的 SELECT 语句
• 区分 SQL 语句和 iSQL*Plus 命令
课程目标
为了从数据库中摘录数据,你需要使用结构化查询语言 (Structured Query Language
SQL) 的 SELECT 语句,你还可能需要限制所显示的行和列。本课程描述了用于执行这
个任务所需要的所有 SQL 语句。
你也能够创建可以多次使用的 SELECT 语句。
本课中还包括用来执行 SQL 语句的 iSQL*Plus 环境的使用介绍。
注:iSQL*Plus 是在 Oracle9i 产品中新增的,并在 Oracle10g 中得到增强,它是一个执
行 SQL 命令的浏览器环境。Oracle 以前发布的 SQL*Plus 是执行 SQL 命令的默认的环
境。SQL*Plus 现在任然可用,并且在附录 C 中讲述。
幻灯片 3
1-3
Copyright © Oracle Corporation, 2001. All rights reserved.
SQL SELECT 语句的功能
行选择
列选择
表 1
表 2
表 1
表 1
连接
SQL SELECT 语句的功能
SELECT 语句从数据库中返回信息。使用一个 SELECT 语句,你可以做下面的事:
列选择:你能够使用 SELECT 语句的列选择功能选择表中的列,这些列是你想
要用查询返回的。当你查询时,你能够选择你查询的表中指定的列。
行选择:你能够使用 SELECT 语句的行选择功能选择表中的行,这些行是你想
要用查询返回的。你能够使用不同的标准限制你看见的行。
连接:你能够使用 SELECT 语句的连接功能来集合数据,这些数据被存储在不
同的表中,在它们之间可以创建连接。在后面的课程中你将学到更多关于连接
的内容。
教师注释
告诉学生行选择和列选择通常被认为是水平和垂直分割。
幻灯片 4
1-4
Copyright © Oracle Corporation, 2001. All rights reserved.
基本 SELECT 语句
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
• SELECT 确定哪些列
• FROM 确定哪张表
基本 SELECT 语句
在最简单的形式中,SELECT 语句必须包含下面的内容:
一个 SELECT 子句,指定被显示的列
一个 FROM 子句,指定表,该表包含 SELECT 子句中的字段列表
在语法中:
SELECT 是一个或多个字段的列表
* 选择所有的列
DISTINCT 禁止重复
column|expression 选择指定的字段或表达式
alias 给所选择的列不同的标题
FROM table 指定包含列的表
注:在本课程中,单词 keyword
(关键字)
, clause
(子句)
和 statement
(语句)
被如下
使用:
keyword 引用一个单个的 SQL 元素。
例如,SELECT 和 FROM 是关键字。
clause 是 SQL 语句的一个部分。
例如,SELECT employee_id, last_name, ...是一个子句。
statemen 是两个或多个子句的组合。
例如,SELECT * FROM employees 是一个 SQL 语句。
幻灯片 5
1-5
Copyright © Oracle Corporation, 2001. All rights reserved.
SELECT *
FROM departments;
选择所有列
选择所有行的所有列
用跟在 SELECT 关键字后面的星号 (*),你能够显示表中数据的所有列。在幻灯片
上的例子中,department 表包含 4 个列:DEPARTMENT_ID、DEPARTMENT_NAM、
MANAGER_ID 和 LOCATION_ID。该表包含 8 行,每个部门一行。
在 SELECT 关键字后面列出所有列,你也能够显示所有的列。例如,跟着 SQL 语
句,像幻灯片中的例子,显示 DEPARTMENTS 表的所有列和所有行:
SELECT department_id, department_name, manager_id,
location_id
FROM departments;
教师注释
让学生知道在附录 B 中给出的所有表的细节。