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


SQL》 SELECT * FROM FRIENDS WHERE STATE= "CA" OR STATE ="CO" OR STATE = 
"LA" 
输出 
LASTNAME FIRSTNAME AREACODE PHONE ST ZIP 
MERRICK BUD 300 555…6666 CO 80212 
MAST JD 381 555…6767 LA 23456 
PERKINS ALTON 911 555…3116 CA 95633 
也可以输入 
输入/输出: 
SQL》 SELECT * FROM FRIENDS WHERE STATE IN("CA";"CO";"LA") 
LASTNAME FIRSTNAME AREACODE PHONE ST ZIP 
MERRICK BUD 300 555…6666 CO 80212 
MAST JD 381 555…6767 LA 23456 
PERKINS ALTON 911 555…3116 CA 95633 
分析 
第二个实例比第一个更易读和简捷 我想你一会再用以前的方法来工作了吧 在 IN 中也 
可以使用数字 例如 
输入/输出: 
SQL》 SELECT * 
2 FROM FRIENDS 
3 WHERE AREACODE IN(100;381;204) 
LASTNAME FIRSTNAME AREACODE PHONE ST ZIP 
BUNDY AL 100 555…1111 IL 22333 
MAST JD 381 555…6767 LA 23456 
BOSS SIR 204 555…2345 CT 95633 
如果你想要查找符合某一范围的记录 例如 
输入/输出: 
SQL》 SELECT * FROM PRICE WHERE WHOLESALE 0。25 AND WHOLESALE 
0。75 
ITEM WHOLESALE 
TOMATOES 。34 
POTATOES 。51 
BANANAS 。67 
TURNIPS 。45 
或使用 BEWTEEN 你可以这样写 
输入/输出: 
SQL》SELECT * FROM PRICE WHERE WHOLESALE BETWEEN 0。25 AND 0。75 
ITEM WHOLESALE 
TOMATOES 。34 
POTATOES 。51 
BANANAS 。67 
TURNIPS 。45 
看 第二个是不是比第一个更清楚和易读 
EMAIL wyhsillypig@163。 59 
…………………………………………………………Page 60……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
注 如果批发价为 0。25 的商品在表中存在 那么它们也将会被返回 BETWEEN 操作将包 
括边界值 
摘要 
在第三天我们学会了使用最基本的 SELECT 子句和 FROM 子句 现在我们已经掌握了最为 
常用的操作来使数据库返回的结果满足你的要求 你学会了使用算术 比较 字符和逻辑 
操作 这为你进一步学习 SQL 打下了良好的基础 
问与答 
问 如果我不想使用命令行的 SQL 那么学习这些东西对我有什么用 
答 不论你使用内嵌 SQL 的 COBOL 还是微软的 ODBC 它们所使用的 SQL 结构都是一 
样的 所以你现在学习的东西将会更有助于你以后的学习 
问 既然 SQL 是一种标准 那为什么又种是让我检查一下自己的解释器呢 
答 我们所使用的是 ANSI1992 标准 但大多数供应商对它进行了修改以使它更适用于自 
己的数据库 我们是以 ANSI1992 标准为基础的 但在具体使用时要注意它们的不同 
校练场 
应用下表的内容来回答下列问题 
LASTNAME FIRSTNAME AREACODE PHONE ST ZIP 
BUNDY AL 100 555…1111 IL 22333 
MEZA AL 200 555…2222 UK 
MERRICK BUD 300 555…6666 CO 80212 
MAST JD 381 555…6767 LA 23456 
BULHER FERRIS 345 555…3223 IL 23332 
PERKINS ALTON 911 555…3116 CA 95633 
BOSS SIR 204 555…2345 CT 95633 
写一下查询 返回数据库中所有名字以 M 开头的每一个人 
写一个查询 返回数据库 ST 为 LA 且 FIRSTNAME 以AL 开头的人 
给你两个表 PART1 和 PART2 你如何才能找出两个表中的共有元素 请写出查询 
WHERE a 》= 10 AND a SELECT (FIRSTNAME || "FROM") NAME; STATE 
2 FROM FRIENDS 
3 WHERE STATE = "IL" AND 
5 LASTNAME = "BUNDY" 
输出 
NAME ST 
AL FROM IL 
仍使用上表 返回以下结果 
NAME PHONE 
MERRICK; BUD 300…555…6666 
MAST; JD 381…555…6767 
BULHER; FERRIS 345…555…3223 
EMAIL wyhsillypig@163。 60 
…………………………………………………………Page 61……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
EMAIL wyhsillypig@163。 61 
…………………………………………………………Page 62……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
第四天 函数 对数据的进一步处理 
目标 
在今天我们将学习函数 在 SQL 中的函数可以执行一些储如对某一些进行汇总或或将 
一个字符串中的字符转换为大写的操作 在今天结束之际 您将学会以下内容 
l 汇总函数 
l 日期与时间函数 
l 数学函数 
l 字符函数 
l 转换函数 
l 其它函数 
这些函数将大大加强你对这一周的早些时间所学习的 SQL 的基本功能所获得的数据的 
操作能力 开始的五个汇总函数 COUNT SUM AVG MAX MIN 是由 ANSI 标准 
所制定的 大多数的 SQL 解释器都对汇总函数进行了扩充 其中有一些今天会提到 在有 
些解释器这汇总函数的名称与这里所提到的不一样 
汇总函数 
这是一组函数 它们返回的数值是基于一列的 因为你不会对单个的记录求它的平均 
数 这一部分的例子将使用 TEAMSTATS 表 
输入 
SQL》SELECT FROM TEAMSTATS 
输出 
NAME POS AB HITS WALKS SINGLES DOUBLES TRIPLES HR SO 
JONES 1B 145 45 34 31 8 1 5 10 
DONKNOW 3B 175 65 23 50 10 1 4 15 
WORLEY LF 157
小说推荐
返回首页返回目录