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

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

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






第三天        表达式       条件语句与运算 



问题答案 



应用下表的内容来回答下列问题 



       LASTNAME    FIRSTNAME   AREACODE   PHONE      ST   ZIP 



       BUNDY       AL          100         555…1111  IL   22333 



       MEZA        AL          200         555…2222  UK 



       MERRICK     BUD         300         555…6666  CO   80212 



       MAST        JD          381         555…6767  LA   23456 



       BULHER      FERRIS      345         555…3223  IL   23332 



       PERKINS     ALTON       911         555…3116  CA   95633 



       BOSS        SIR         204         555…2345  CT   95633 



1   写一下查询  返回数据库中所有名字以 M 开头的每一个人 



    SELECT * FROM FRIENDS WHERE LASTNAME LIKE 'M%'; 



2   写一个查询  返回数据库 ST 为 LA 且 FIRSTNAME  以AL 开头的人 



    SELECT * FROM FRIENDS  WHERE STATE = 'IL'  AND FIRSTNAME = 'AL'; 



3   给你两个表  PART1 和 PART2     你如何才能找出两个表中的共有元素  请写出查询 



    使用 INTERSECT   切记  INTERSECT 将返回两个查询中的公共行 



    SELECT PARTNO FROM PART1 



    INTERSECT 



    SELECT PARTNO FROM PART2; 



4   WHERE a 》= 10 AND a  SELECT (FIRSTNAME || 'FROM') NAME; STATE 



    2    FROM  FRIENDS 



    3    WHERE  STATE  =  'IL'  AND 



    5    LASTNAME  =  'BUNDY' 



OUTPUT 



                           NAME                  ST 



                           AL                  FROM IL 



     仍使用上表  返回以下结果 



NAME                                                   PHONE 



MERRICK;                    BUD                        300…555…6666 



MAST;                       JD                         381…555…6767 



BULHER;                     FERRIS                     345…555…3223 



INPUT: 



SQL》SELECT LASTNAME || ';' || FIRSTNAME NAME; 



    2                AREACODE  ||  '…'  ||  PHONE  PHONE 



    3  FROM  FRIENDS 



  4 WHERE AREACODE BETWEEN 300 AND 400; 



第四天          函数       对获得数据的进一步处理 



问题答案 



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



        INITCAP 



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



        Group 函数了 aggregate  函数都是 



    10      下边的查询将如何工作 



      SQL》 SELECT COUNT(LASTNAME) FROM CHARACTERS; 



      它将返回表中的总记录数 



                                                                              538 


…………………………………………………………Page 539……………………………………………………………

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



    11      下边的查询是干什么的 



      SQL》 SELECT SUM(LASTNAME) FROM CHARACTERS; 



      由于LASTNAME 是字符串类型  所以这个查询将不会工作 



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



        CONCAT   函数和||符号都可以 



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



          INPUT: 

          SQL》 SELECT COUNT(*) FROM TEAMSTATS; 



          OUTPUT: 



          COUNT(*) 



          6 



          6 是指表中的记录个数 



    14      下列语句将是否会工作 



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



      由于在lastname;1;5 周围没有括号  所以它会认为这是列的别名                       正确的语句如下 



      SQL》 SELECT SUBSTR(LASTNAME;1;5) NAME FROM NAME_TBL; 



练习答案 



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



       的计算方法为 hits/ab 



      INPUT: 

          SQL》 SELECT NAME FROM TEAMSTATS 



              2    WHERE  (HITS/AB)  《  。25; 



      OUTPUT: 

            NAME 



            HAMHOCKER 



            CASEY 



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



        INITIALS__________CODE 



        K。A。P。                            32 



         1 row selected。 



        SQL》 select substr(firstname;1;1)||'。'|| 



                                substr(middlename;1;1)||'。'|| 



                                substr(lastname;1;1)||'。'  INITIALS;  code 



                                                                               539 


…………………………………………………………Page 540……………………………………………………………

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



                 from  characters 



                 where  code  =  32; 



第五天       SQL  中的子句 



问题答案 



   6   哪种子句的作用与 LIKE      %  相似 



     STARTING WITH 



   7   GROUP BY 子句的功能是什么       哪种子句的功能与它类似 



   GROUP  BY 子句可以将其它函数返回的数据进行分组  它与 ORDER  BY 子句在行为 



上类似  ORDER BY 子句是将查询的结果像 GROUP BY 子句一样根据给出的列进行排序 



    8  下面的查询会工作吗 



   INPUT 



        SQL》SELECT NAME   AVG   SALARY   DEPARTMENT   FROM   PAY_TBL 



       WHERE DEPARTMENT='ACCOUNTING'    ORDER   BY  NAME 



       GROUP   BY  DEPARTMENT   SALARY 



        语法不正确  GROUP BY 必须在 ORDER  BY 之前  而且所有选择的列也必需在 



    GROUP BY 中给出 



   9   在使用 HAVING 子句时是否要同时使用 GROUP BY 子句 



       是的 



    10    你可以使用在 SELECT 语句中没有出现的列进行排序吗 



     可以  排序时要排序的列不必一定要在 SELECT 语句中出现 



练习答案 



   3   使用上例中的 ORGCHART  表找一下每一个 TEAM  中 SICKLEAVE 天数超过 30  天 



      的人数 



    先来看一下每组有多少个人 



 INPUT: 



       SELECT TEAM; COUNT(TEAM) 



                                                                   540 


…………………………………………………………Page 541……………………………………………………………

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



        FROM ORGCHART 



        GROUP BY TEAM; 



  OUTPUT: 



         TEAM              COUNT 



         COLLECTIONS       2 



         MARKETING         3 



         PR                1 



         RESEARCH          2 



将它与下边的答案比较 



  INPUT: 



        SELECT TEAM; COUNT(TEAM) 



        FROM ORGCHART 



        WHERE SICKLEAVE 》=30 



        GROUP BY TEAM; 



  OUTPUT: 



         TEAM             COUNT 



         COLLECTIONS      1 



         MARKETING        1 



         RESEARCH         1 



输出显示了每一个组中病假数超过 30 天的人 



    4   使用 CHECKS 表     返回如下结果 



           OUTPUT 



       CHECK#           PAYEE       AMOUNT 



       1                MA BELL      150 



        INPUT: 



        SQL》 SELECT CHECK#; PAYEE; AMOUNT 



                  FROM  CHECKS 



                  WHERE  CHECK#  =  1; 



    有多种方法可以完成这个问题               你能找出其它的吗 



                                                                           541 


…………………………………………………………Page 542……………………………………………………………

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



第六天            表的联接 



 问题答案 



6    如果一个表有 50000 行而另一个表有 100000 行时联接的结果会有多少行 



     5;000;000;000  行 



7    下边的联接属于哪一种类型的联接 



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