是的 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 。SALARY FROM EMPLOYEE_TBL E; EMPLOYEE_PAY_TBL EP WHERE E 。EMPLOYEE_ID = EP 。EMPLOYEE_ID 这是一个等值联接 你可以从中发现所以存在于两个表中的雇员 ID 8 下边的查询语句能否工作 A 。 SELECT NAME; EMPLOYEE_ID; SALARY FROM EMPLOYEE_TBL E; EMPLOYEE_PAY_TBL EP WHERE EMPLOYEE_ID = EMPLOYEE_ID AND NAME LIKE "%MITH"; 不会 列句和表名不正确 要注意使用列和表的别名 select e。name; e。employee_id; ep。salary from employee_tbl e; employee_pay_tbl ep where name like "%MITH"; B。 SELECT E。NAME ; E。EMPLOYEE_ID; EP。SALARY FROM EMPLOYEE_TBL E; EMPLOYEE_PAY_TBL EP WHERE NAME LIKE "%MITH"; 不会 在 WHERE 子句中没有联接命令 select e。name; e。employee_id; ep。salary from employee_tbl e; employee_pay_tbl ep where e。employee_id = ep。employee_id and e。name like "%MITH"; C。 SELECT E。NAME ; E。EMPLOYEE_ID; EP。SALARY FROM EMPLOYEE_TBL E;EMPLOYEE_PAY_TBL EP WHERE E 。EMPLOYEE_ID = EP 。EMPLOYEE_ID AND E。NAME LIKE "%MITH"; 正确的 542 …………………………………………………………Page 543…………………………………………………………… SQL 21 日自学通(V1。0) 翻译人 笨猪 9 是否在联接语句中 WHERE 子句中的第一个条件应该是联接条件 联接命令应该在条件的前边 10 联接是否限制为一列 是否可以有更多的列 可以 练习答案 4 在表的自我联接这部分 最后的一个例子返回了两个结果 请重写这个查询使它对 多余的记录只返回一个结果 INPUT/OUTPUT: SELECT F。PARTNUM; F。DESCRIPTION; S。PARTNUM;S。DESCRIPTION FROM PART F; PART S WHERE F。PARTNUM = S。PARTNUM AND F。DESCRIPTION S。DESCRIPTION AND F。DESCRIPTION 》 S。DESCRIPTION PARTNUM DESCRIPTION PARTNUM DESCRIPTION 76 ROAD BIKE 76 CLIPPLESS SHOE 5 重写下边的查询使它更可读和简炼 INPUT: select orders。orderedon; orders。name; part。partnum;part。price; part。description from orders; part where orders。partnum = part。partnum and orders。orderedon between "1…SEP…96" and "30…SEP…96" order by part。partnum 答 select o。orderedon ORDER_DATE; o。name NAME; p。partnum PART#; p。price PRICE; p。description DESCRIPTION from orders o; part p where o。partnum = p。partnum and o。orderedon like "%SEP%" order by ORDER_DATE; 6 使用 ORDERS 表和 PART 表 返回下边的结果 543 …………………………………………………………Page 544…………………………………………………………… SQL 21 日自学通(V1。0) 翻译人 笨猪 OUTPUT ORDEREDON NAME PARTNUM QUANTITY 2…SEP…96 TRUE WHEEL 10 1 答 Select o。orderedon ORDEREDON; o。name NAME; p。partnum PARTNUM; o。quanity QUANITY from orders o;part p where o。partnum = p。partnum and o。orderedon like "%SEP%"; 还有许多种写法 第 7 天 子查询 内嵌的 SELECT