数据库查询语句Word格式.docx

上传人:b****3 文档编号:7241932 上传时间:2023-05-08 格式:DOCX 页数:10 大小:17.38KB
下载 相关 举报
数据库查询语句Word格式.docx_第1页
第1页 / 共10页
数据库查询语句Word格式.docx_第2页
第2页 / 共10页
数据库查询语句Word格式.docx_第3页
第3页 / 共10页
数据库查询语句Word格式.docx_第4页
第4页 / 共10页
数据库查询语句Word格式.docx_第5页
第5页 / 共10页
数据库查询语句Word格式.docx_第6页
第6页 / 共10页
数据库查询语句Word格式.docx_第7页
第7页 / 共10页
数据库查询语句Word格式.docx_第8页
第8页 / 共10页
数据库查询语句Word格式.docx_第9页
第9页 / 共10页
数据库查询语句Word格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库查询语句Word格式.docx

《数据库查询语句Word格式.docx》由会员分享,可在线阅读,更多相关《数据库查询语句Word格式.docx(10页珍藏版)》请在冰点文库上搜索。

数据库查询语句Word格式.docx

g)显示所有在部门为20和50的雇员的名字和部门号,并以名字按字母顺序排序。

Selectfirst_name,last_name,department_id

Wheredepartment_idin(20,30)

Orderbyfirst_name;

h)显示每一个在1994年受雇的雇员的名字和受雇日期

Selectfirst_name,last_name,hire_date

Wherehire_datelike„%94‟;

i)对每一个雇员,显示employee_id、last_name、salary和salary增加15%,并且表示成整数,列标签显示为NewSalary。

Selectfirst_name,last_name,salary,round(salary*

1."

15,0)“NewSalary”Fromemployees;

j)显示所有没有主管经理的雇员的名字和工作岗位。

Selectfirst_name,last_name,job_id

Wheremanager_idisnull;

k)显示所有名字中第三个字母是a的雇员的名字

Selectfirst_name,last_name

Wherefirst_namelike„__a%‟;

l)显示所有名字中有一个a和一个e的雇员的名字。

Wherefirst_namelike„%a%‟andfirst_namelike„%e%‟;

m)写一个查询显示当前日期,列标签显示为Date。

Selectsysdate“date”fromdual;

n)查询表employees的department_id列,department_id为10时显示为“计算机工程系”,为20时显示为“汽车工程系”,其它显示为“其它”,分别用case和decode实现。

Selectdepartment_id,casedepartment_idwhen10then'

计算机工程系'

When20then'

汽车工程系'

Else'

其它'

End

Fromemployees;

Selectdepartment_id,

decode(department_id,10,'

20,'

'

o)查询表employees的salary列,如果salary小于3000显示为“低工资”,salary小于5000显示为“中”,其余显示为“高工资”Selectsalary,casewhensalary<

3000then„低工资‟

Whensalary<

5000then„中‟

Else„高工资‟endfromemployees;

(2)连接查询和子查询

a)写一个查询显示所有雇员的last_name、department_id、anddepartment_name

Selecte.last_name,d.department_id,d.department_name

Fromemployeese,departmentsd

Wheree.department_id=d.department_id;

Selecte.last_name,d.department_name,d.location_id,l.city

Fromemployeese,departmentsd,locationsl

c)写一个查询显示那些工作在Toronto(城市名)的所有雇员的last_name、job_title、department_id和department_name。

Selecte.last_name,j.job_title,d.department_id,d.department_name

Fromemployeese,departmentsd,locationsl,jobsj

Wheree.department_id=d.department_idandd.location_id=l.location_idAnde.job_id=j.job_idandl.city=‟Toronto‟;

d)显示雇员的lastname和employee_id连同他们的经理的lastname和manager_id。

列标签分别为Employee、Emp#、Manager和Mgr#。

Selecta.last_nameEmployee,a.employee_idEmp#,

b.last_nameManager,b.employee_idMgr#

Fromemployeesa,employeesb

Wherea.manager_id=b.employee_id;

e)创建一个查询显示那些在雇员Davies之后入本公司工作的雇员的name和hire_date。

Selectfirst_name,last_namefromemployees

Wherehire_date>

(selecthire_datefromemployeeswherelast_name=‟Davies‟);

f)显示所有雇员的最高、最低、合计和平均薪水,列标签分别为:

Maximum、Minimum、Sum和Average。

Selectmax(salary)Maximum,min(salary)Minimum,

sum(salary)Sum,avg(salary)Average

fromemployees;

g)写一个查询显示每一工作岗位的人数。

Selectjob_id,count(*)fromemployeesgroupbyjob_id;

h)写一个查询显示最高和最低薪水之间的差。

列标签是DIFFERENCE。

Selectmax(salary)-min(salary)DIFFERENCEfromemployees;

i)显示经理号和经理付给雇员的最低薪水。

排除那些经理未知的人。

排除最低薪水小于等于$6,000的组。

按薪水降序排序输出。

Selectmanager_id,min(salary)fromemployees

Wheremanager_idisnotnull

Groupbymanager_id

Havingmin(salary)<

=6000;

j)创建一个查询显示雇员总数,和在

1995、"

1996、"

1997和1998受雇的雇员人数。

创建适当的列标题。

Selectcount(*)total,

Sum(decode(to_char(hire_date,‟YY‟),‟1995‟,1,0))“1995”,Sum(decode(to_char(hire_date,‟YY‟),‟1996‟,1,0))“1996”,Sum(decode(to_char(hire_date,‟YY‟),‟1997‟,1,0))“1997”,Sum(decode(to_char(hire_date,‟YY‟),‟1998‟,1,0))“1998”Fromemployees;

k)写一个查询显示与Zlotkey在同一部门的雇员的lastname和hiredate,结果中不包括Zlotkey。

Selectlast_name,hire_datefromemployees

Wherelast_name<

>

‟Zlotkey‟

Anddepartment_id=(selectdepartment_idfromemployeeswherelast_name=‟Zlotkey‟);

l)创建一个查询显示所有其薪水高于平均薪水的雇员号和名字。

Selectemployee_id,first_name,last_namefromemployees

Wheresalary>

(selectavg(salary)fromemployees)

Orderbysalary;

(3)数据维护

a)运行下面语句来构造MY_EMPLOYEE表。

CREATETABLEmy_employee

(idNUMBER

(4)CONSTRAINTmy_employee_id_nnNOTNULL,last_nameVARCHAR2

(25),

first_nameVARCHAR2

useridVARCHAR2

(8),

salaryNUMBER(9,2));

b)从下面的样本数据中添加第一行数据到MY_EMPLOYEE表中,在INSERT子句中不要字段列表。

Insertintomy_employeevalues(1,‟Patel‟,‟Ralph‟,‟rpatel‟,895);

c)用前面的列表中样本数据的第二行组装MY_EMPLOYEE表,这次在INSERT子句中显式地列出字段列表。

Insertintomy_employee(id,last_name,first_name,userid,salary)

values(2,‟Dancs‟,‟Betty‟,‟bdancs‟,860);

d)插入表中的其它数据

e)确认你添加到表中的数据。

Select*frommy_employee;

f)使得数据添加永久化

Commit;

g)改id为3的雇员的名字为Drexler

Updatemy_employeesetlast_name=‟Drexler‟whereid=3;

h)改变所有薪水少于900的雇员的工资为

1000。

"

Updatemy_employeesetsalary=1000wheresalary<

900;

i)从MY_EMPLOYEE表中删除BettyDancs。

Deletefrommy_employeewhereid=2;

j)提交所有未决的改变。

k)在事务的过程中标记一个中间点。

SAVEPOINTstep_18;

清空整个表。

DELETE

FROMmy_employee;

确认表是空的。

SELECT*FROMmy_employee;

丢弃最近的DELETE操作,而不丢弃前面的插入操作。

ROLLBACKTOstep_18;

确认新行还是完整的。

附录:

表的结构

表COUNTRIES的结构:

字段名称类型中文含义

COUNTRY_IDCHAR

(2)国家编码

COUNTRY_NAMEVARCHAR2

(40)

REGION_IDNUMBER

表REGIONS的结构:

名称类型

REGION_NAMEVARCHAR2

(25)

表LOCATIONS的结构:

LOCATION_IDNUMBER

(4)

STREET_ADDRESSVARCHAR2

POSTAL_CODEVARCHAR2

(12)

CITYVARCHAR2

(30)

STATE_PROVINCEVARCHAR2

(2)

表DEPARTMENTS的结构:

DEPARTMENT_IDNUMBER

DEPARTMENT_NAMEVARCHAR2

MANAGER_IDNUMBER

(6)

表EMPLOYEES的结构:

EMPLOYEE_IDNUMBER

FIRST_NAMEVARCHAR2

(20)

LAST_NAMEVARCHAR2

EMAILVARCHAR2

PHONE_NUMBERVARCHAR2

HIRE_DATE

JOB_IDVARCHAR2

(10)

SALARYNUMBER(8,2)

COMMISSION_PCTNUMBER(2,2)国家名称

地区编码

中文含义

地区名称

地点编码

街道地址

邮政编码

所属城市

所属州

国家编码

部门编号

部门名称

管理员编号

地点编号

雇员编码名姓

Email地址

电话号码

受雇日期

工作岗位

薪水

佣金

(6)管理员编号

(4)部门编号

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2