友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

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

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



     PERKINS 



     PERKINS 



     PERKINS 



   只有我一个人在使用这个数据库  看            SELECT  又一次对表中的每一行都返回了结果 



该函数与在今天早些时候提及的日期函数类似  甚至尽管 USER                不是表中确实存在的列 



但 SELECT 仍然检索了表中的每一行 



总结 



   好长的一天啊      我们一共学习了 47  个函数      你无需记住每一个函数        只需要知道它们 



的大致类型  算术函数        日期/ 时间函数    字符函数  转换函数       其它函数     而当你写一 



个查询的时候你有一个明确的目标就够了 



EMAIL wyhsillypig@163。                                       94 


…………………………………………………………Page 95……………………………………………………………

SQL 21  日自学通(V1。0)                                  翻译人  笨猪 



问与答 



问  为什么在 ANSI 标准中定义的函数这么少  而不同的解释器又都定义了这么多的函数 



答  ANSI 标准是一个非常宽松的标准  而且如果对所有的解释器生产厂家来说过多的限 



   制会使其走向破产的道路       另一方面  如果 A  公司对 SQL  补充了一个用于统计的函 



   数包而销路特别好的话  那么 B 公司和 C 公司一定也会跟着做的 



问  我认为你对 SQL 的介绍太简单了  我的工作时应该如何去使用这些函数呢 



答  这个问题与一个都三角的教师所提出的问题类似             事实上我也不知道如何却求一个等 



   腰三角形的面积     所以   我的回答是    根据你的职业而定      你的工作中需要用到哪些 



   函数你就去使用它      而其它的对你来说则是没有必要掌握的           这一观点也适用于你的 



   查询 



校练场 



   1  哪个函数是用来将给定字符串的第一个字母变成大写而把其它的字符变成小写的 



   2  哪此函数的功能就如同它的名字含义一样 



   3  下边的查询将如何工作 



     SQL》 SELECT COUNT(LASTNAME) FROM CHARACTERS; 



   4  下边的查询是干什么的 



     SQL》 SELECT SUM(LASTNAME) FROM CHARACTERS; 



   5  哪个函数可以将 FIRSTNAME 列与 LASTNAME 列合并到一起 



   6  在下边的查询中    6 是什么意思 



        输入 



        SQL》 SELECT COUNT(*) FROM TEAMSTATS; 



        输出 



        COUNT(*) 



        6 



   7  下列语句将输出什么 



        SQL》 SELECT SUBSTR LASTNAME;1;5 FROM NAME_TBL; 



EMAIL wyhsillypig@163。                                 95 


…………………………………………………………Page 96……………………………………………………………

SQL 21  日自学通(V1。0)                                                         翻译人     笨猪 



练习 



     1   用今天的 TEAMSTARTS 表来写一个查询                 用来显示谁的中球率低于 0。25               中球率 



        的计算方法为 hits/ab 



    2    用今天的 CHARACTERS 表来写一个查询                 要求返回下边的结果 



         INITIALS__________CODE 



         K。A。P。                            32 



         1 row selected。 



EMAIL   wyhsillypig@163。                                                          96 


…………………………………………………………Page 97……………………………………………………………

SQL 21  日自学通(V1。0)                                                                翻译人     笨猪 



第五天             SQL  中的子句 



目标 



     今天的主题是子句 — — 它不是你在渡假时的赠品                            而是你所学习的 SELECT             语句的一 



个组成部分  在今天结束以后我们将学会以下子句 



     l   WHERE 



     l    STARTING WITH 



     l    ORDER BY 



     l    GROUP BY 



     l   HAVING 



     为了对这些子句有一个大致的印象  请看一下 SELECT 语句的通用语法表达式 



语法 



     SELECT 'DISTINCT | ALL' { * 



                                             |  {  'schema。'{table  |  view  |  snapshot}。* 



                                             |  expr  }    '  'AS'  c_alias  ' 



                                           ';  {  'schema。'{table  |  view  |  snapshot}。* 



                                             |  expr  }  '  'AS'  c_alias  '    '  。。。  } 



     FROM 'schema。'{table | view | snapshot}'@dblink' 't_alias' 



           '; 'schema。'{table | view | snapshot}'@dblink' 't_alias' ' 。。。 



                 'WHERE  condition  ' 



           'GROUP BY expr '; expr' 。。。 'HAVING condition' ' 



           '{UNION | UNION ALL | INTERSECT | MINUS} SELECT mand ' 



                 'ORDER  BY  {expr|position}  'ASC  |  DESC' 



                 ' {expr|position} 'ASC | DESC'' 。。。' 



     注    根据我对 SQL  的经验  ANSI 标准确实只是 ANSI  的  建议                           上述的语法格式在 



大多数的 SQL 引擎下都能够工作  但是你可以发现它们之间存在着一些差别 



EMAIL    wyhsillypig@163。                                                                97 


…………………………………………………………Page 98……………………………………………………………

SQL 21  日自学通(V1。0)                                             翻译人    笨猪 



    你无需对这些复杂的语法花费太多的精力                 因为许多人发现语法表比关于新应用的示 



例更容易让人困惑         本书采用简单的例子展现其特点              不过   如果我们在今天看一下有关 



它的语法表述会使我们对今天的学习更容易理解 



    不要对语法的精确内容太担心             对于不同的解释器它们是不同的  所以               我们应该把 



精力放到关系上  在最前边的是 SELECT 语句  我们在前几天已经多次使用过了  SELECT 



之后应该是 FROM       在每次输入 SELECT      语句时它也应该输入          明天我们将学习 FROM 



语句的新用法       之后是 WHERE     GROUP  BY   HAVING 和 ORDER  BY   其余的子句  包 



括 UNION   UNION  ALL  INTERSECT 和 MINUS 在表中已经在第 3  天时讲过了  每一个 



子句的在数据的选择和操作时都扮演着它的重要角色 



    注  在今天的例子中我们使用两种 SQL  解释器               一种仍然是 SQL     的命令行形式  它 



属于 Personal  Oracle7 而另外一种则不是  它是 BORLAND  公司的 ISQL             你可以发现 



输出的结果会随着解释器的不同而不同 



WHERE  子句 



    仅使用 SELECT 和 FROM 子句       你会受到表中的每一行数据均返回的限制  例如                  只 



在 CHECKS 表中使用这两个关键字           你将会得到表中的全部行  共 7 行 



    INPUT 



    SQL》SELECT   * FROM    CHECKS 



    OUTPUT 



        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 



         16        Cash  25         Wild        Night Out 



         17        Joans Gas        25。1        Gas 



    使用 WHERE    子句将会使你更具有选择性           要想找到你所填写的支票中所有超过 100 



元的  你可以这样写 



    INPUT 



EMAIL  wyhsillypig@163。                                             98 


…………………………………………………………Page 99……………………………………………………………

SQL 21  日自学通(V1。0)                                               翻译人    笨猪 



    SQL》SELECT   *  FROM   CHECKS    WHERE   AMOUNT     100 



    WHERE 子句只返回了符合条件的四条记录 



    OUTPUT 



         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 



         5          Joes Stale  Dent 150        Groceries 



    使用 WHERE    也可以解决一些其它的难题             下表给出了姓名和位置  你可以提出这样 



的问题— — Waldo 住在哪儿 



    INPUT 



    SQL》SELECT   *  FROM   PUZZLE 



                       OUTPUT 



                      NAME          LOCATION 



                       TYLER        BACKYARD 



                       MAJOR        KITCHEN 



                       SPEEDY       LIVING ROOM 



                       WALDO        GARAGE 



                       LADDIE      UTILITY CLOSET 



                       ARNOLD       TV ROOM 



    INPUT 



    SQL》SELECT   LOCATION    AS  〃WHERE'S WALDO?〃   FROM    PUZZLE 



         WHERE    NAME 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!