《SQL 21日自学通(V3.0)(PDF格式)》第20章


2 ReadingR。R。 245。34 TraintoChicago 
3 MaBell 200。32 CellularPhone 
4 LocalUtilities 98 Gas 
5 JoesStaleDent 150 Groceries 
6 Cash 25 WildNightOut 
7 JoansGas 25。1 Gas 
你的第一个查询 
输入 
SQL》select * from checks 
输出 
CHECK# PAYEE AMOUNT REMARKS 
1 Ma Bell 150 Have sons next time 
2 Reading R。R 245。34 Train to Chicago 
3 Ma Bell 200。32 Cellular Phone 
4 Local Utilities 98 Gas 
5 Joes Stale Dent 150 Groceries 
6 Cash 25 Wild Night Out 
7 Joans Gas 25。1 Gas 
7 rows selected。 
分析 
请看例子的输出结果 注意第 1 列和第 3 列是右对齐的而第 2 列和第 4 列是左对齐的 
EMAIL wyhsillypig@163。 35 
…………………………………………………………Page 36……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
这是因为对于数字类型采用右对齐而对于字符类型则是采用左对齐的 数据的类型将在第 
9 天的 表的建立与维护 中讨论 
在 SELECT 中的*表示要返回 FROM 中所指定的表中的所有列 并按照数据库中的固 
有顺序来排序 
完成一个 SQL 语句 
在 SQL 运行时 分号 即意味着通知解释程序当前语句已经结束 例如 SQL*PLUS 
在没有遇到分号时将不会执行语句 但是在其它的 SQL 解释器中可能不会用到分号 例如 
Microsoft Query 和 Borland"s ISQL 不需要查询终止符 因为你是在编辑框中输入查询语句 
并且当你在按下按钮以后才开始执行查询 
对列进行排序 
在前边的例子中使用了*来选择了选定表格中的所有列 并且是按照其在数据库中的固 
定顺序来排序的 如果需要对特定的列排序 你应该按下边所写的那样输入 
输入 
SQL》 SELECT payee remarks amount check# from checks; 
注意在 SELECT 子句中给出了每个列的名字 排序是根据列的先后顺序来进行的 注 
意将最后列的列名与其后的子句 这里是 FROM 用空格分开 输出的结果如下 
输出 
PAYEE REMARKS AMOUNT CHECK# 
Ma Bell Have sons next time 150 1 
Reading R。R。 Train to Chicago 245。34 2 
Ma Bell Cellular Phone 200。32 3 
Local Utilities Gas 98 4 
Joes Stale Dent Groceries 150 5 
Cash Wild Night Out 25 6 
Joans Gas Gas 25。1 7 
7 rows selected。 
这句话也可以写成下边的形式 
输入 
EMAIL wyhsillypig@163。 36 
…………………………………………………………Page 37……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
SELECT payee; remarks; amount; check# 
FROM checks; 
注意 这里的 FROM 子句已经写到第二行了 这是一种个人习惯 其输出的结果如下 
输出 
PAYEE REMARKS AMOUNT CHECK# 
Ma Bell Have sons next time 150 1 
Reading R。R。 Train to Chicago 245。34 2 
Ma Bell Cellular Phone 200。32 3 
Local Utilities Gas 98 4 
Joes Stale Dent Groceries 150 5 
Cash Wild Night Out 25 6 
Joans Gas Gas 25。1 7 
7 rows selected。 
分析 
语句的格式变更不会对输出的结果造成影响 现在你已经知道了如何对输出的结果进 
行排序 试着将表格的列按照你的要求进行排序 
选择特定的列 
如果你不想看到数据库中的每一列 当然 你使用 SELECT *将所有的列显示出是可 
行的 但是如果你只想看一下 CHECKS 中的号码与数量列 那么你可以输入如下语句 
输入 
SQL》 SELECT CHECK#; amount from checks; 
输出 
CHECK# AMOUNT 
1 150 
2 245。34 
3 200。32 
4 98 
5 150 
6 25 
7 25。1 
现在你可以按要求显求所需要的列 注意大小写的使用 它不会对查询的结果造成影 
EMAIL wyhsillypig@163。 37 
…………………………………………………………Page 38……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
响 
如何从不同的表中查找到所需要的信息呢 
从不同的表中选择 
假设你有一个名为 DEPOSITS 表 其内容如下 
输出 
DEPOSIT# WHOPAID AMOUNT REMARKS 
1 Rich Uncle 200 Take off Xmas list 
2 Employer 1000 15 June Payday 
3 Credit Union 500 Loan 
分析 
你需要对数据源作一下简单的改动 
查找不重复的数据 
如果你看过原来的 CHECKS 表 你会发现其中有一些数据是重复的 例如 AMOUNT 
列 
输入 
SQL》 select amount from checks 
输出 
AMOUNT 
150 
245。34 
200。32 
98 
150 
25 
25。1 
请注意 150 在这里是重复的 如果你只想查看不重复的数据 可以这样做 
输入 
SQL》 select DISTINCT amount from checks; 
输出 
EMAIL wyhsillypig@163。
小说推荐
返回首页返回目录