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

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

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






             NAME                          AMOUNT         ACCOUNT_ID 



             Phone pany                 125            1 



             Power pany                 75             1 



             Record Club                   25             2 



             Software pany              250            1 



             Cable TV pany              35             3 



             Joe's Car Palace              350            5 



                                                                                     196 


…………………………………………………………Page 197……………………………………………………………

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



            NAME                         AMOUNT        ACCOUNT_ID 



            S。C。 Student Loan            200           6 



            Florida Water pany        20             1 



            U…O…Us Insurance pany     125           5 



            Debtor's Credit Card         35            4 



    你甚至可以已经存在的视图来创建一个新的视图                           当从视图中创建视图时要仔细                 尽 



管操作是可以接受的            但是它使得维护工作变得复杂                  假设你的视图有三级            如表的视图 



的视图的视图  那么当表中的第一级视图被删除时会有什么情况发生    另外两个视图会仍 



然存在  但是在第一个视图恢复之前它们是没有用处的                            切记     当创建一个视图后;它实际 



上是一个虚表 



    INPUT 



    SQL》 CREATE VIEW CREDITCARD_DEBTS AS 



        2      SELECT  *  FROM  DEBTS 



        3      WHERE  ACCOUNT_ID  =  4; 



    SQL》 SELECT * FROM CREDITCARD_DEBTS; 



    OUTPUT: 



                 NAME                 AMOUNT       ACCOUNT_ID 



                 Debtor's Credit Card 35           4 



    CREATE  VIEW 也允许你从表中选择特定的列到视图中                       下例是从 PANY 表中选 



择了 NAME 和 STATE 列 



    INPUT 



    SQL》 CREATE VIEW PANY_INFO (NAME; STATE) AS 



        2      SELECT  *  FROM  PANY; 



    SQL》 SELECT * FROM PANY_INFO; 



    OUTPUT 



                     NAME                           STATE 



                     Phone pany                  GA 



                     Power pany                  FL 



                     Record Club                    CA 



                     Software pany               CA 



                     Cable TV pany               TX 



                     Joe's Car Palace               FL 



                                                                                 197 


…………………………………………………………Page 198……………………………………………………………

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



                     NAME                            STATE 



                     S。C。 Student Loan               SC 



                     Florida Water pany           FL 



                     U…O…Us Insurance pany        GA 



                     Debtor's Credit Card            NJ 



    注    用户可以通过创建视图来查询特定的数据                      如果你的表有 50 列且有成千上万个记 



录但是你只需要其中两列的话                 你可以创建视图来选择这两列                  然后从视图中查询           你会 



发现查询在数据返回时间上与原来有相当大的不同 



列的重命名 



    视图继承了已有列的名字               此外视图还可以有自己的名字                 SQL 的 CREATE  VIEW 允 



许你对所选择的列进行重命名                  它与前边的例子非常相似  如果你想把 PANY  中的 



ADDRESS     CITY  和 STATE 字段组合起来并打印到信封上时该如何做呢                           请看下边的例 



子  它使用了 SQL 的+操作符将地址字段与逗号和空格组合起来 



    INPUT 



    SQL》 CREATE VIEW ENVELOPE (PANY; MAILING_ADDRESS) AS 



      2   SELECT NAME; ADDRESS + 〃 〃 + CITY + 〃; 〃 + STATE 



        3      FROM  PANY; 



    SQL》 SELECT * FROM ENVELOPE 



    OUTPUT 



            PANY                      MAILING_ADDRESS 



            Phone pany                 111 1st Street Atlanta; GA 



            Power pany                222 2nd Street Jacksonville; FL 



            Record Club                   333 3rd Avenue Los Angeles; CA 



            Software pany             444 4th Drive San Francisco; CA 



            Cable TV pany              555 5th Drive Austin; TX 



            Joe's Car Palace              1000 Govt。 Blvd Miami; FL 



            S。C。 Student Loan            25 College Blvd。 Columbia; SC 



            Florida Water pany         1883 Hwy。 87 Navarre; FL 



            U…O…Us Insurance pany     295 Beltline Hwy。 Macon; GA 



            Debtor's Credit Card          115 2nd Avenue Newark; NJ 



                                                                                  198 


…………………………………………………………Page 199……………………………………………………………

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



分析 



    当在视图中使用 SQL         的计算功能时 SQL  会要求你给出一个虚字段的名字                     这是可以 



理解的     因为像 COUNT(*)或 AVG(PAYMENT)。是不能作为名字的 



    注   检查你的解释器看它是否支持+操作符 



SQL 对视图的处理过程 



    视图可以以比数据在数据库表中的存储情况更为便捷的方式来返回数据                                  当需要连续 



进行几个复合的查询时            例如在存储过程和应用程序中时  视图也是非常方便的  为了进 



一步地说明视图和 SELECT          语句    下边的例子分别使用了 SQL            的查询方法和视图方法以 



作对比      假设你需要经常去运行一个查询                  例如    你需要例行公事地将 BILLS            表与 



BANK_ACCOUNT 表进行归并以得到支付信息 



INPUT 



    SQL》 SELECT BILLS。NAME; BILLS。AMOUNT; BANK_ACCOUNTS。BALANCE 



        2    BLANCE BANK_ACCOUNTS。BANK BANK FROM BILLS; BANK_ACCOUNTS 



        3    WHERE  BILLS。ACCOUNT_ID  =  BANK_ACCOUNTS。ACCOUNT_ID; 



OUTPUT 



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