八宝书库 > 文学其他电子书 > SQL 21日自学通(V3.0)(PDF格式) >

第24部分

SQL 21日自学通(V3.0)(PDF格式)-第24部分

小说: SQL 21日自学通(V3.0)(PDF格式) 字数: 每页4000字

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






          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  表示用降序排列来代替默认的升序排列                               下例则出现了 



很少使用的关键字 ASC             表示要按升序进行排列 



    INPUT 



     SQL》SELECT     PAYEE    AMOUNT     FROM    CHECKS    ORDER     BY  CHECK#    ASC 



    OUTPUT 



                PAYEE                          AMOUNT 



                Ma Bell                        150 



                Reading R。R                    245。34 



                Ma Bell                        200。32 



                Local Utilities                98 



                Joes Stale  Dent              150 



                Cash                           60 



                Abes Cleaners                  24。35 



                Cash                           25 



                Joans Gas                      25。1 



                Abes Cleaners                  10。5 



                Cash                           34 



    输出的结果与最初没有使用 ASC  时是一样的  这是因为 ASC  是默认的选项  本例也 



表明了用于排序的字段并不一定要出现在 SELECT                         子句中      尽管我们选择的是 PAYEE  和 



AMOUNT      但是排序却是按 CHECKS 进行的 



    ORDER BY 可以使用多个字段               下例是按 PAYEE 和 REMARKS 进行排序的 



    INPUT 



     SQL》SELECT     *  FROM     CHECKS     ORDER     BY   PAYEE    REMARKS 



    OUTPUT 



          CHECK#     PAYEE                AMOUN      REMARKS 



                                           T 



          20        Abes   Cleaners       10。5       All  Dry   Clean 



EMAIL   wyhsillypig@163。                                                          103 


…………………………………………………………Page 104……………………………………………………………

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



          9          Abes   Cleaners       24。35      X…Tra   Starch 



          8          Cash                  60         Tripto  Boston 



          21         Cash                  34         Tripto  Dayton 



          16         Cash                  25         Wild   Night  Out 



          17         Joans  Gas            25。1       Gas 



          5          Joes  Stale  Dent    150        Groceries 



          4          Local  Utilities      98         Gas 



          3          Ma   Bell             200。32     Cellular  Phone 



          1          Ma   Bell             150        Havesonsnexttime 



          2          Reading   R。R。        245。34     Trainto  Chicago 



分析 



     注意在排序之前 CASH 在表中的输入次序 CHECK 号依次为 16                             8  21  在 ORDER BY 



子句中加入了 REMARK 字段后结果是按照 REMARK 的字母顺序进行排序 在 ORDER BY 



中的列的次序对排序的结果会有影响吗  试着掉换一下 PAYEE 和 REMARKS  的次序 



     INPUT 



     SQL》SELECT      *  FROM     CHECKS     ORDER     BY   REMARKS      PAYEE 



     OUTPUT 



         CHECK#       PAYEE               AMOUNT          REMARKS 



         20           Abes Cleaners       10。5            All Dry Clean 



         3              Ma  Bell          200。32          Cellular Phone 



         17           Joans Gas           25。1            Gas 



         4            Local Utilities     98              Gas 



         5            Joes Stale  Dent   150             Groceries 



         1            Ma Bell             150             Have sons next time 



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



         8            Cash                60              Trip to Boston 



         21           Cash                34              Trip to Dayton 



         16           Cash                25              Wild Night Out 



         9            Abes Cleaners       24。35           X…Tra Starch 



分析 



     你大概已经猜出来了              结果是完全不相同的  下例显示了如何将一列按字母的正顺排 



列而把第二列按字母的逆序进行排列 



     INPUT/OUTPUT 



     SQL》 SELECT     * FROM    CHECKS     ORDER    BY  PAYEE    ASC   REMARKS      DESC 



EMAIL   wyhsillypig@163。                                                            104 


…………………………………………………………Page 105……………………………………………………………

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



          CHECK#       PAYEE                 AMOUNT          REMARKS 



          9            Abes Cleaners         24。35           X…Tra Starch 



          20           Abes Cleaners         10。5            All Dry Clean 



           16          Cash                  25              Wild Night Out 



          21           Cash                  34              Trip to Dayton 



          8            Cash                  60              Trip to Boston 



           17          Joans Gas             25。1            Gas 



          5            Joes Stale  Dent     150             Groceries 



          4            Local Utilities       98              Gas 



           1           Ma Bell               150             Have sons next time 



          3            Ma Bell               200。32          Cellular Phone 



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



分析 



     在这个例子中 PAYEE            按正序排列而 REMARK  按逆序排列                     请注意 CASH        中的 



REMARK 是怎样相对于 PAYEE 排序的 



技巧  假如你已经知道了你想要进行排序的列是表中的第一列的话  那么你可以用 ORDER 



       BY 1 来代替输入列的名字              见下例 



     INPUT/OUTPUT 



     SQL》 SELECT      *  FROM     CHECKS     ORDER     BY    1 



           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 



           8            Cash                60             Trip to Boston 



           9            Abes Cleaners       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 



分析 



     它的结果与你在今天的早些时候写下的这个语句的结果是一样的 



     SELECT    *   FROM    CHECKS      ORDER     BY   CHECK# 



EMAIL   wyhsillypig@163。                                                             105 


…………………………………………………………Page 106……………………………………………………………

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



GROUP BY 子句 



    在第三天时我们学习了汇总类函数                   COUNT     SUM   AVG    MIN   MAX     如果你想 



看一下支出的总费用你可以用如下语句 



    INPUT 



    SELECT    *  FROM    CHECKS 



下表是修改以后的 CHECKS 表 



         CHECKNUM        PAYEE              AMOUNT     REMARKS 



         1               Ma Bell            150        Have sons next time 



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



         3               Ma Bell            200。33     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

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的