第1课的练习 在此练习中,您将编写几个简单的SE工ECT查询。这些查询应运用您在本课中学习 过的大多数SELECT子句和运算。 0 racle Database11g:SQL基础A-11
Oracle Database 11g:SQL 基础 I A-11 第 1 课的练习 在此练习中,您将编写几个简单的 SELECT 查询。这些查询应运用您在本课中学习 过的大多数 SELECT 子句和运算
练习1-1:使用SQL SELECT语句检索数据 第1部分 测试您的知识: 1)下面的SELECT语句能够成功执行: job_id,salary As sal 对/借 2)下面的SELECT语句能够成功执行: FROM job grades; 对/错 3)下面的语句中有四处编码错误。是否能将其标识出来? SELECT employee_id,last_name sal x 12 ANNUAL SALARY FROM employees; 第2部分 在开始练习前,请注意以下几点: ·将所有练习文件保存到以下位置:/home/orac1e/1abs/sq11/1abs。 ·在SQL工作表中输入SQL语句。要在SQL Developer中保存脚本,请确保 需要使用的SQL工作表处于活动状态,然后,从“File(文件)”莱单中 选择“Save As(另存为)”,将SQL语句另存为 Lab_<lessonno> stepno>.sg1脚本。在修改现有脚本时,请一定要 使用“Save As(另存为)”并使用其它文件名来进行保存。 ·要运行查询,请单击SQL工作表中的“Execute Statement(执行语句)” 图标。或者,也可以按F9]。对于DML和DDL语句,请使用“Run Script (运行脚本)”图标或按F5]。 ·在执行查询后,请确保未在同一工作表中输入下一个查询。请打开一个新 工作表。 您是Acme Corpor tion的一名SQL程序员。您的第一个任务是根据人力资源表中 的数据创建一些报表。 Oracle Database11g:SQL基础1A-12
Oracle Database 11g:SQL 基础 I A-12 练习 1-1:使用 SQL SELECT 语句检索数据 第 1 部分 测试您的知识: 1) 下面的 SELECT 语句能够成功执行: SELECT last_name, job_id, salary AS Sal FROM employees; 对/错 2) 下面的 SELECT 语句能够成功执行: SELECT * FROM job_grades; 对/错 3) 下面的语句中有四处编码错误。是否能将其标识出来? SELECT employee_id, last_name sal x 12 ANNUAL SALARY FROM employees; 第 2 部分 在开始练习前,请注意以下几点: 将所有练习文件保存到以下位置:/home/oracle/labs/sql1/labs。 在 SQL 工作表中输入 SQL 语句。要在 SQL Developer 中保存脚本,请确保 需要使用的 SQL 工作表处于活动状态,然后,从“File(文件)”菜单中 选择“Save As(另存为)”,将 SQL 语句另存为 lab_<lessonno>_<stepno>.sql 脚本。在修改现有脚本时,请一定要 使用“Save As(另存为)”并使用其它文件名来进行保存。 要运行查询,请单击 SQL 工作表中的“Execute Statement(执行语句)” 图标。或者,也可以按 [F9]。对于 DML 和 DDL 语句,请使用“Run Script (运行脚本)”图标或按 [F5]。 在执行查询后,请确保未在同一工作表中输入下一个查询。请打开一个新 工作表。 您是 Acme Corporation 的一名 SQL 程序员。您的第一个任务是根据人力资源表中 的数据创建一些报表
练习1-1:使用SQL SELECT语句检索数据(续) 4)您的第一个任务是确定DEPARTMENTS表的结构及其内容。 Name Nu11 Type DEPARTMENT_ID NANAGEREID-NAME (30) LOCATION ID NUMBER(4) 4 rows selected ☒DEPARTMENT_ID图DEPARTMENT-.NAME图MANAGER_ID图LOCATION_ID 10A 20 1700 20 Marketing 201 180 50 Shipping 124 1500 60T 103 1400 80Sales 90 Executive 110 Accounting 205 1700 190 Contracting (nulD 1700 5)确定EMPLOYEES表的结构 Nane Nu11 Type NOT NULL NUMBERC LAST_NAME NOT NULL VARCHAR2(25) EONE.一NUNBER NOT NULL HIRE_DATE NOT NULL DATE NOT NULL VARCHAR2(10) COMMISSION_PCT NUMBER(2,2) 11 rows selected HR部门需要一个查询,用于显示每位员工的姓氏、职务D、聘用日期和员工 D,而且希望首先显示员工D。 请为HIRE_DATE列提供一个别名 STARTDATE。将您的SQL语句保存到名为1ab0105.sq1的文件中,以便 可以将该文件发送到HR部门。 0 racle Database11g:sQL基础A-13
练习 1-1:使用 SQL SELECT 语句检索数据(续) Oracle Database 11g:SQL 基础 I A-13 4) 您的第一个任务是确定 DEPARTMENTS 表的结构及其内容。 5) 确定 EMPLOYEES 表的结构。 HR 部门需要一个查询,用于显示每位员工的姓氏、职务 ID、聘用日期和员工 ID,而且希望首先显示员工 ID。请为 HIRE_DATE 列提供一个别名 STARTDATE。将您的 SQL 语句保存到名为 lab_01_05.sql 的文件中,以便 可以将该文件发送到 HR 部门
练习1-1:使用SQL SELECT语句检索数据(续) 6)测试1ab0105.sq1文件中的查询,确保其运行是正确的 注:在执行查询后,请确保未在同一工作表中输入下一个查询。请打开一个新 工作表。 图EMPLOYEE_ID图LAST_NAME图JOB_ID图STARTDATE 200 whalen AD_ASST 17-5EP-87 201 Hartstein MK_MAN 17-FEB-96 202 Fay MK_REP 17-AUG-9 4 205 Higgins AC MGR 07-UN-94 5 206 Gietz AC ACCOUNT 07-IUN-94 19 176 Taylor SA REP 24-MAR-98 20 178 Grant SA REP 24-MAY-99 7)HR部门需要一个查询,用于显示EMPLOYEES表中所有唯一的职务D。 图JoB_ID 1 AC_ACCOUNT 2 AC MGR 3 AD_ASST 4 AD_PRES 5 AD VP 6 IT PROC 7 MK_MAN 8 MK_REP 9 SA_MAN 10 SA REP 11 ST_CLERK 12 ST_MAN 0 racle Database11g:SQL基a础1A-14
练习 1-1:使用 SQL SELECT 语句检索数据(续) Oracle Database 11g:SQL 基础 I A-14 6) 测试 lab_01_05.sql 文件中的查询,确保其运行是正确的。 注:在执行查询后,请确保未在同一工作表中输入下一个查询。请打开一个新 工作表。 … 7) HR 部门需要一个查询,用于显示 EMPLOYEES 表中所有唯一的职务 ID
练习1-1:使用SQL SELECT语句检索数据(续) 第3部分 如果您有时间,请完成以下练习: 8)HR部门希望员工报表的列标题更具描述性。将该语句从1ab0105.sg1复制 到一个新SQL工作表中。将列标题分别命名为“Bmp4”、 “Employee” “Job”和“Hire Date”。然后,再次运行查询。 目Emp#图Employee图Jjob 图Hire Date 1 200Whalen AD_ASST 17-SEP-87 201 Hartstein MK MAN 17-EFR-96 202Fay MK_REP 17-AUG-97 205 Higgins AC_MGR 07UN-9 5 206 Gietz AC ACCOUNT 07-JUN-94 19 176 Taylor SA_REP 24-MAR-98 20 178 Grant SA_REP 24-MAY-99 9)HR部门需要一个包含所有员工及其职务D的报表。以级联方式显示姓氏和 职务ID(以逗号或空格分隔),并将该列命名为“Employee and Title”。 图Employee and Title 1 Abel SA REP 2 Davies,ST_CLERK 3 De Haan,AD_Vi 4 Ernst,IT_PROG 5 Fay,MK_REP 19 Whalen.AD ASST 20 Zlotkey.SA MAN 0 racle Database11g:sQL基础A-15
练习 1-1:使用 SQL SELECT 语句检索数据(续) Oracle Database 11g:SQL 基础 I A-15 第 3 部分 如果您有时间,请完成以下练习: 8) HR 部门希望员工报表的列标题更具描述性。将该语句从 lab_01_05.sql 复制 到一个新 SQL 工作表中。将列标题分别命名为“Emp #”、“Employee”、 “Job”和“Hire Date”。然后,再次运行查询。 … 9) HR 部门需要一个包含所有员工及其职务 ID 的报表。以级联方式显示姓氏和 职务 ID(以逗号或空格分隔),并将该列命名为“Employee and Title”。 …