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

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

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






还有许多种写法 



第 7 天        子查询         内嵌的 SELECT 语句 



问题答案 



1  在嵌套查询部分        有一个例子中子查询返回了以下几个数值 



         LE SHOPPE 



         BIKE SPEC 



         LE SHOPPE 



         BIKE SPEC 



         JACKS BIKE 



    其中有一些结果是重复的            为什么在最终的结果中没有出现重复 



    由于查询调用了子查询  所以在最后的结果中没有出现重复 



        SELECT ALL C。NAME; C。ADDRESS; C。STATE;C。ZIP 



        FROM CUSTOMER C 



        WHERE C。NAME IN 



    只会返回 NAME 的州为 IN  的记录  这里不要为 IN 在复杂语句里的简写所迷糊 



2  下面的话是对还是错 



      4   汇总函数如 SUM      AVG   COUNT   MAX    MIN  都返回多个数值        不对  它们 



         都返回多个数值 



      5   子查询最多允许嵌套两层            不对  嵌套层数的限制是根据你的解释器而定的 



      6   相关子查询是完全的独立查询              不对  相关子查询中你使用外部引用 



                                                                          544 


…………………………………………………………Page 545……………………………………………………………

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



3  下边的子查询中哪一个是使用 ORDERS 表和 PART 表工作的 



    INPUT/OUTPUT 



    SQL》 SELECT * FROM PART; 



          PARTNUM      DESCRIPTION          PRICE 



          54           PEDALS               54。25 



          42           SEATS                24。50 



          46           TIRES                 15。25 



          23           MOUNTAIN BIKE        350。45 



          76           ROAD BIKE            530。00 



          10           TANDEM                1200。00 



INPUT/OUTPUT 



SQL》 SELECT * FROM ORDERS 



     ORDEREDON        NAME             PARTNUM      QUANITY        REMARKS 



     15…MAY…96        TRUE WHEEL       23           6              PAID 



     19…MAY…96        TRUE WHEEL       76           3              PAID 



     2…SEP…96         TRUE WHEEL       10           1              PAID 



     30…JUN…96        BIKE SPEC        54            10            PAID 



     30…MAY…96        BIKE SPEC        10           2              PAID 



     30…MAY…96        BIKE SPEC        23           8              PAID 



     17…JAN…96        BIKE SPEC        76            11            PAID 



     17…JAN…96        LE SHOPPE        76           5              PAID 



     1…JUN…96         LE SHOPPE        10           3              PAID 



     1…JUN…96         AAA BIKE         10           1              PAID 



     1…JUN…96         AAA BIKE         76           4              PAID 



     1…JUN…96         AAA BIKE         46            14            PAID 



     11…JUL…96        JACKS BIKE       76            14            PAID 



    A   SQL》 SELECT * FROM ORDERS WHERE PARTNUM = 



             SELECT PARTNUM FROM PART 



             WHERE DESCRIPTION = 'TRUE WHEEL'; 



             不对  在子查询的周围没有括号 



    B  SQL》 SELECT PARTNUM FROM ORDERS WHERE PARTNUM = 



             (SELECT * FROM PART 



             WHERE DESCRIPTION = 'LE SHOPPE') 



      不会     SQL 引擎在=操作后边关联表所的所有了 



                                                                               545 


…………………………………………………………Page 546……………………………………………………………

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



    C  SQL》 SELECT NAME; PARTNUM FROM ORDERS WHERE EXISTS 



           (SELECT * FROM ORDERS 



           WHERE NAME = 'TRUE WHEEL') 



         对的    这个查询是正确的 



练习答案 



    应用 ORDERS 表来写一个查询 返回所以字母顺序排列在 JACKS BIKE 之后的NAMES 



和 ODEREDON 数据 



INPUT/OUTPUT: 



    SELECT NAME; ORDEREDON 



    FROM ORDERS 



    WHERE NAME 》 



           (SELECT NAME 



           FROM ORDERS 



           WHERE NAME ='JACKS BIKE') 



         NAME                  ORDEREDON 



         TRUE WHEEL           15…MAY…1996 



         TRUE WHEEL           19…MAY…1996 



         TRUE WHEEL           2…SEP…1996 



         TRUE WHEEL           30…JUN…1996 



         LE SHOPPE            17…JAN…1996 



         LE SHOPPE            1…JUN…1996 



第八天        操作数据 



问题答案 



    9  下边的语句有什么错误 



    DELETE COLLECTION 



       如果你想删除 COLLECZTION 表中的所有记录             你必需使用下边的语法 



    DELETE FROM COLLECTION; 



                                                                      546 


…………………………………………………………Page 547……………………………………………………………

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



       要注意这条语句会删除表中的所有的记录  你可以使用下边的语法来有选择地删 



    除表中的记录 



    DELETE FROM COLLECTION 



    WHERE VALUE = 125 



       这条语句将会删除所有 VALUE 为 125 的记录 



    10     下边的语句有什么错误 



       INSERT INTO COLLECTION SELECT * FROM TABLE_2 



           这条语句的目的是将 TABLE_2  中的所有记录都拷贝到 COLLECTION 表中 



       这里存在的主要问题是在 INSERT          语句中使用了 INTO  关键字  在把一个表中的 



       数据拷贝到另一个表中时  你必需使用下边的语法 



       INSERT COLLECTION 



       SELECT * FROM TABLE_2; 



           同时  要记住 TABLE_2 中的数据类型和字段次序与 COLLECTION 表中的一样 



    11     下边的语句有什么错误 



    UPDATE COLLECTION (〃HONUS WAGNER CARD〃    25000; 〃FOUND IT〃) 



       这条语句把 UPDATE  与 INSERT     弄混了  如果想更新 COLLECTIONS  表中的数 



    值  你应该使用下边的语法 



       UPDATE COLLECTIONS 



       SET NAME = 〃HONUS WAGNER CARD〃; 



                   VALUE  =  25000; 



                   REMARKS  =  〃FOUND  IT〃; 



    12     如果执行下边的语句会有什么结果 



    SQL》 DELETE * FROM COLLECTION; 



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