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

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

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




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



         WHERE    NAME = 'WALDO' 



    OUTPUT 



    WHERE'S WALDO? 



    GARAGE 



    好了 我答应以后不再写像这样粗俗的语句了 我已经把它们收录于 SQL BATHROOM 



HUMOR    — — 这是一本每个人都想得到的书              不过  这个查询显示出了在 WHERE  中用 



于条件的列并没有在 SELECT          语句中出现      本例中你所选择的是 LOCATION          列而条件列 



是 NAME    这是完全合法的        同时  我们也应该注意到 SELECT  语句中我们使用了 AS 



它是一个可以选择的参数            用以指定 LOCATION     的别名  你以后将不会看到 AS            因为它 



是多余的  ACCESS  中则不可省略— — 译者             在大多数 SQL 解释器中我们只需输入 



EMAIL  wyhsillypig@163。                                               99 


…………………………………………………………Page 100……………………………………………………………

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



    INPUT 



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



NAME='WALDO' 



    这里没有使用 AS        但它的结果与上例是完全一样的 



    WHERE 是使用频度仅次于 SELECT 和 FROM  的语句 



STARTING WITH 子句 



    STARTING  WITH 子句附加于 WHERE  子句上  它的作用与 LIKE                  exp%  相似    试 



比较下边的两个查询 



    INPUT 



    SELECT    PAYEE   AMOUNT      REMARKS     FROM    CHECKS   WHERE     PAYEE 



LIKE('Ca%') 



    OUTPUT 



                   PAYEE      AMOUNT       REMARKS 



                   Cash       25           Wild Night Out 



                   Cash       60           Trip to Boston 



                   Cash       34           Trip to Dayton 



再看看下边的查询 



INPUT 



SELECT   PAYEE   AMOUNT     REMARKS     FROM   CHECKS    WHERE    PAYEE   STARTING 



WITH('Ca') 



OUTPUT 



                     PAYEE     AMOUNT       REMARKS 



                     Cash      25           Wild Night Out 



                     Cash      60           Trip to Boston 



                     Cash      34           Trip to Dayton 



    结果是相同的  你甚至可以同时使用它们  例如 



    INPUT 



    SELECT   PAYEE   AMOUNT     REMARKS     FROM    CHECKS 



    WHERE    PAYEE   STARTING    WITH('Ca') OR   REMARKS     LIKE  'G%' 



    OUTPUT 



EMAIL  wyhsillypig@163。                                                   100 


…………………………………………………………Page 101……………………………………………………………

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



                  PAYEE               AMOUNT        REMARKS 



                  Local Utilities     98            Gas 



                  Joes Stale  Dent   150           Groceries 



                  Cash                25            Wild Night Out 



                  Joans Gas           25。1          Gas 



                  Cash                60            Trip to Boston 



                  Cash                34            Trip to Dayton 



                  Joans Gas           15。75         Gas 



    警告     STARTIN      WITH  为许多 SQL  解释器所支持             在你喜欢上它之前请先检查你 



的 SQL 解释器是否支持它 



ORDER BY 子句 



    在有些时候你可能会希望查询输出的结果按一定的排序规则来显示                                      可是     正如你所 



知道的      SELECT FROM 语句只会给你一个列表                  除非你已经定义了关键字  见第 10 天 



  创建视图和索引             否则你查询的结果是依据它们在输入时的次序排列的  请看下表 



    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 



                 9        Abes Cleaners       24。35         X…Tra Starch 



                 20       Abes Cleaners        10。5         All Dry Clean 



                 8            Cash             60           Trip to Boston 



                 21           Cash             34           Trip to Dayton 



分析 



    请相信我  数据输出的情况的确是按照它们被输入的先后次序排序的  在第 8 天的  数 



据操作      中我们将知道如何使用 INSERT               来创建一个新的表            那时你就可以试一下            看看 



EMAIL   wyhsillypig@163。                                                         101 


…………………………………………………………Page 102……………………………………………………………

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



数据是不是如你所猜想的那样来排序 



    ORDER  BY 子句为你提供了对输出的结果进行排序的方法  例如  将记录按 CHECKS 



号进行排序  语句如下 



    INPUT 



    SQL》SELECT      *  FROM    CHECKS     ORDER     BY   CHECK# 



    OUTPUT 



          CHECK#      PAYEE             AMOUNT        REMARKS 



          1           MaBell             150          Have next sonstime 



          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 



          8           Cash              60            Trip to Boston 



          9           Abes   Claeners   24。35         X…Tra   Starch 



          16          Cash              25            Wild Night  Out 



          17          Joans  Gas        25。1          Gas 



          20          Abes   Cleaners    10。5         All  Dry  Clean 



          21          Cash              34            Trip to Dayton 



    现在数据已经按照你的要求进行排序而不是按照它们被输入的次序进行排序了                                           下边 



的例子则表明  BY 是 ORDER 不可缺少的组成部分 



    INPUT/OUTPUT 



    SQL》 SELECT     *   FROM    CHECKS    ORDER     CHECK# 



    ERROR at line 1: 



    ORA…00924: missing BY keyword 



    如果你想让数据按降序排列                 也就是说数值最大的排在最前边                   那么非常幸运         下例 



中 PAYEEs 表中的 PAYEEs 列就是按降序排列的 



    INPUT/OUTPUT 



    SQL》SELECT      *  FROM    CHECKS     ORDER     BY   PAYEE   DESC 



            CHECK#      PAYEE             AMOUNT       REMARKS 



            2           Reading R。R。      245。34       Train to Chicago 



            1           Ma Bell            150         Have sons next time 



            3           Ma Bell           200。32       Cellular Phone 



            4           Local Utilities   98           Gas 



EMAIL   wyhsillypig@163。                                                        102 


…………………………………………………………Page 103……………………………………………………………

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



            5            Joes Stale  Dent  150          Groceries 



            17           Joans Gas         25。1          Gas 



            16           Cash              25            Wild Night Out 



            8            Cash              60            Trip to Boston 



            21           Cash              34            Trip to Dayton 



            9            Abes Cleaners     24。35         X…Tra Starch 



            20           Abes Cleaners      10。5         All Dry Clean 



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