按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
输入
SQL》 select DISTINCT amount from checks;
输出
EMAIL wyhsillypig@163。 38
…………………………………………………………Page 39……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
AMOUNT
25
25。1
98
50
200。32
245。34
6 rows selected
分析
注意只有六行数据被选择 这是因为你使用了 DISTINCT 所有只有不重复的数据才
会被显示 ALL 是在 SELECT 中默认的关键字 你几乎从来也不会用到 ALL 因为 SELECT
与 SELECT ALL 是等价的
试一下这个例子 作为你对 SQL 的第一次 也是唯一的一次 实际体验
输入
SQL》 SELECT ALL AMOUNT
FROM CHECKS;
输出
AMOUNT
150
245。34
200。32
98
150
25
25。1
7rowsselected。
它的结果与 SELECT 是相同的 谁还会再去用这个多余关键字呢
总结
关键字 SELECT 可以检索数据库并从中返回数据 你可以用一个很长的语句并使用
SELECT *来检索数据库中的所有表 而且你可以对指定表格的结果进行重新排序 而关键
EMAIL wyhsillypig@163。 39
…………………………………………………………Page 40……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
字 DISTINCT 则会强制性地要求返回的结果中不能有重复数据 明天我们将学习如何使您
的查询更具有选择性
问与答
问 这些数据是从哪里来的 我们是如何得到它的
答 数据是按照第 8 天所讲述的方法创建的 与数据库的联接是依靠你所使用的 SQL 它
以传统的命令行方式与数据库进行会话 该数据库原来属于服务器或客户机范畴 但
最近它已经被移植到了 PC 机上
问 可是我用不到这些数据库 那我还可以用 SQL 干什么
答 你也可以在编程语言中使用 SQL 一般的编程语言都支持内嵌的 SQL 例如 COBOL
你可以在它的环境中写 SQL 并编译 而 Microsoft 公司则提供了应用程序接口函数以
允许编程人员在 Visual Basic C 或 C++ 中使用 SQL Sybase and Oracle 提供的库也
允许你在编程时使用 SQL Borland 公司则将 SQL 置于 Delphi 中 本书中也将讨论 SQL
在编程中的应用
校练场
在校练场里我们提出了一些问题以帮助你巩固自己所学 这些练习可以提高你在学习
中的经验 请试着回答和练习附录五 问答与练习 中的内容 在开始明天的工作之前要
确保你已经知道了这些问题的答案
1 下列语句所返回的结果是否相同
SELECT * FROM CHECKS;
select * from checks
2 为什么下列查询不会工作
a。 Select * b。 Select * from checks
c。 Select amount name payee FROM checks;
3
A select *
From checks
B select * from checks
EMAIL wyhsillypig@163。 40
…………………………………………………………Page 41……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
C select * from checks
/
练习
1 使用今天早些时候的 CHECKS 表的数据来写一个查询 返回表中的 number 和 remark
列中的数据
2 将练习 1 中的查询再写一遍以使得remark 列出现在第一位
3 使用 CHECKS 表 写一个查询来返回其中的不重复数据
EMAIL wyhsillypig@163。 41
…………………………………………………………Page 42……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
第三天 表达式 条件语句与运算
目标
在第二天我们学习了使用 SELECT 语句和 FROM 语句来对数据进行有趣味性 也是非常有
用的 运算 在今天我们将对昨天学习的进行进一步的扩充 我们将把新的方法应用到查
询 表和行中 引进新的子句和被称为运算的批量处理方法 在第三天的阳光下 你将学
会
知道什么叫作表达式以及如何来使用它们
知道什么叫作条件语句以及如何来使用它们
熟悉基本的子句 WHERE 的使用
可以用算术 比较 字符和逻辑表达式来建立一个运算
学会将多种不同的运算结合在一起使用
注 在今天的学习中我们来使用 PERSONAL ORACLE7 来进行应用举例 其它的 SQL 环
境在命令运算以及结果显示上与它稍有不同 但在遵循 ANSI 标准的基础上它们的结果应
该是相同的
表达式
表达式的定义非常简单 表达式可以返回一个值 表达式的类型非常广泛 它以包括各种
类型的数据如数字 字符 以逻辑型等 其实在下列子句 如 SELECT 和 FROM 中所占
成分中表达式最大 在下边的例子中 amount 就是一个表达式 它可以返回 amount 列中的
数据
SELECT amount FROM checks
而在下列语句中 NAME ADDRESS PHONE ADDRESSBOOK 是表达式
SELECT NAME; ADDRESS; PHONE
FROM ADDRESSBOOK
现在 请检查一下下边的表达式
WHERE NAME = 'BROWN'
这里 NAME = 'BROWN' 是一个条件语句 这是一个逻辑形表达式的实例 NAME =
'BROWN'将根据=号来返回值 TRUE 或 FALSE
条件
如果你想在数据库中查找一个或一组特定的信息 你需要使用一个或更多的条件 条件可
以包含在WHERE 子句中 在上一个例子中 条件就是
NAME = 'BROWN'
如果你想知道在你们单位中上一个月有谁的工作时间超过了 100 个小时 你可能会写出下
边的条件语句
NUMBEROFHOURS 》 100
条件语句可以让你建立一个选择查询 在大多数情况下 条件中包括变量 常量和比较运
算 在第一个例子中的变量是 NAME 常量是'BROWN' 而比较运算符则为= 在第二个
例子中变量为 NUMBEROFHOURS;常量为 100 而比较运算符则是》 当您准备写一个条
件查询时你需要知道两个元素 WHERE 子句和运算
WHERE 子句
Where 子句的语法如下
WHERE
EMAIL wyhsillypig@163。 42
…………………………………………………………Page 43……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
Select From 和 Where 在 SQL 中最常使用的三个子句 Where 只是当你的查询具有更大的
选择性 没有 Where 子句 你可以用查询做得最多的有用工作是显示选定表中的所有记录
例如
输入
SQL》 SELECT * FROM BIKES
这将会将 BIKES 表中的所有数据按行列出
输出
NAME FRAMESIZE POSITION MILESRIDDEN TYPE
TREK 2300 22。5 CARBONFIBER 3500 RACING
BURLEY 22 STEEL 2000 TANDEM
GIANT 19 STEEL 1500 MUTER
FUJI 20 STEEL 500 TOURING
SPECIALIZED 16 STEEL 100 MOUNTAIN
CANNONDALE 22。5 ALUMINUM 3000 RACING
假若你想要一台特定型号的自行车 你应该键入
SQL》 SELECT FROM BIKES WHERE NAME = BURLEY
你将只会收到一个记录
输出
NAME FRAMESIZE POSITION MILESRIDDEN TYPE
BURLEY 22 STEEL 2000 TANDEM
分析
这个简单的例子显示出了你可以在数据库返回的数据中加以条件限制
运算
运算是你需要对从数据库中返回的数据进行数学处理时所用到的元素 运算可以归为六组
数值型 比较型 字符型 逻辑型和备注型以及混合型
数值型运算
数值型运算有加 减 乘 除和取模 前四个不用多说 取模将返回一个除法结果中商的
余数部分 这里有两个例子
5%2=1
6%2=0
对于有小数的数据不能应用取模运算 如实数
如果你在进行数据运算时应用了几个运算符而没有在其中使用括号 那么运算进行的次序
将是先乘后除再模后加减 举例来说 表达式 2*6+9/3 其结果将是 12+3=15 但是 表
达式 2* 6+9 /3 结果则为 2*15/3=10 注意