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


件查询时你需要知道两个元素 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 注意在这里你使用了括号 有时表达式不会按你所 
想像的那样得出期望的结果 
加法(+) 
你可以在许多场合下使用加号 下面的语句将显示一个价格表 
输入 SQL》 SELECT * FROM PRICE 
输入如下右 
现在请输入 
SQL》SELECT ITEM WHOLESALE WHOLESALE 0。15 FROM PRICE OUTPUT 
ITEM WHOLESALE 
TOMATOES 。34 
POTATOES 。51 
BANANAS 。67 
EMAIL wyhsillypig@163。 43 
…………………………………………………………Page 44……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
ITEM WHOLESALE 
TURNIPS 。45 
CHEESE 。89 
APPLES 。23 
这里对于下列产品的每一个价格数据加了 15 分 
ITEM WHOLESALE WHOLESALE+0。15 
TOMATOES 。34 。49 
POTATOES 。51 。66 
BANANAS 。67 。82 
TURNIPS 。45 。60 
CHEESE 。89 1。04 
APPLES 。23 。38 
分析 
请不要忽视最后一列 WHOLESALE+0。15 它在原始的数据库表中没有 切记 你在 SELECT 
中使用了*号 这将会显示出所有的列 SQL 允许你创建一个虚拟列或对已有的列进组合 
和修改后产生的派生列 
请再输入一次刚才的语句 
SQL》 SELECT * FROM PRICE 
右面是从表中返回的结果 
ITEM WHOLESALE 
TOMATOES 。34 
POTATOES 。51 
BANANAS 。67 
TURNIPS 。45 
CHEESE 。89 
APPLES 。23 
分析 
输出的结果有时原始数据并没有被改变 而标题为 WHOLESALE+0。15 的列也不是表中的 
固有列 事实上 由于这个列标题太不容易为人所注意 所以你应该在它的上边再花一些 
工夫 
请输入 
SQL》 SELECT ITEM WHOLESALE WHOLESALE 0。15 RETAIL 
FROM PRICE 
其结果如右 
ITEM WHOLESALE RETAIL 
TOMATOES 。34 。49 
POTATOES 。51 。66 
BANANAS 。67 。82 
TURNIPS 。45 。60 
CHEESE 。89 1。04 
APPLES 。23 。38 
分析 
真棒 你不但可以创建一个新列 而且还可以对它安自己的需要进行重命名 你可以按语 
法列名 别名来对任何一个列进行重命名 注意在列名与别名之间有空格 
例如 输入 
SQL》 SELECT ITEM PRODUCE WHOLESALE WHOLESALE 0。25 RETAIL 
FROM PRICE 
重命名的列如下 
PRODUCE WHOLESALE RETAIL 
EMAIL wyhsillypig@163。 44 
…………………………………………………………Page 45……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
TOMATOES 。34 。49 
POTATOES 。51 。66 
BANANAS 。67 。82 
TURNIPS 。45 。60 
CHEESE 。89 1。04 
APPLES 。23 。38 
注 一些 SQL 解释器使用的语法为 列名 = 别名 所以前一个例子要写成如下格式 
SQL》 SELECT ITEM PRODUCE 
WHOLESALE 
WHOLESALE 0。25 RETAIL 
FROM PRICE 
请检查你的 SQL 解释器以确认它采用哪一种语法 
你大概想知道当不在命令行状态时应如何使用别名吧 很清楚 你知道报表生成器是如何 
工作的吗 总有一天 当有人让你写一个报表的生成器时 你就会记住它而且不用却重复 
Dr Codd 和 IBM 已经做过的工作 
到现在为止 你已经看到了两种加号的用法 第一种用法是在 SELECT 子句中使用+号以 
执行对数据的运算并将结果显示出来 第二种用法是在 WHERE 子句中使用加号 在WHERE 
中使用操作符可以在当你对数据有特定条件时具有更大的灵活性 
在一些解释器中 加号还同时肩负着进行字符运算的责任 在稍后的几天中你将会看到这 
一点 
减法 — 
减号也有两种用途 第一种用途是作为负号使用 你可以使用 HILOW 表来验证这项功能 
SQL》 SELECT * FROM HILOW 
输出 
STATE HIGHTEMP LOWTEMP 
CA …50 120 
FL
小说推荐
返回首页返回目录