数据库查询语句

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据查询

(1)基本数据查询

a)分别查询表employees、regions、countries和locations表中的所有

行和列

例:Select * from employees;

b)创建一个查询,显示每个雇员的last name, job_id, hire_date, 和

employee_id,employee_id显示在第一列,给HIRE_DATE 列指

定一个别名STARTDATE 。

Select employee_id,last_name,job_id,hire_date startdate from employees;

c)创建一个查询从EMPLOYEES表中显示唯一的工作代码(job_id)

Select distinct job_id from employees;

d)创建一个查询,显示收入超过$12,000 的雇员的名字和薪水。

Select first_name,last_name,salary from employees where salary>12000;

e)创建一个查询,显示雇员号为176 的雇员的名字和部门号

Select first_name,last_name,department_id from employees

where employee_id=176;

f)显示受雇日期在1998年2月20日和1998年5月1日之间的雇

员的名字、岗位(job_id)和受雇日期(hire_date)。按受雇日期顺序排

序查询结果。

Select first_name,last_name,job_id,hire_date

From employees

Where hire_date between ‟20-2月-98‟ and …1-5月-98‟

Order by hire_date (desc);

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

字母顺序排序。

Select first_name,last_name,department_id

From employees

Where department_id in(20,30)

Order by first_name;

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

Select first_name,last_name,hire_date

From employees

Where hire_date like …%94‟;

i)对每一个雇员,显示employee_id、last_name、salary 和salary 增

加15%,并且表示成整数,列标签显示为New Salary。

Select first_name,last_name, salary,round(salary*1.15,0) “New Salary”

From employees;

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

Select first_name,last_name, job_id

From employees

Where manager_id is null;

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

Select first_name,last_name

From employees

Where first_name like …__a%‟;

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

Select first_name,last_name

From employees

Where first_name like …%a%‟ and first_name like …%e%‟;

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

Select sysdate “date” from dual;

n)查询表employees的department_id列,department_id为10时显示为“计算机工程系”,为20时显示为“汽车工程系”,其它显示为

“其它”,分别用case和decode实现。

Select department_id,case department_id when 10 then '计算机工程系'

When 20 then '汽车工程系'

Else '其它'

End

From employees;

Select department_id,

decode(department_id,10,'计算机工程系',20,'汽车工程系','其它')

From employees;

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

Select salary,case when salary<3000 then …低工资‟

When salary<5000 then …中‟

Else …高工资‟ end from employees;

(2)连接查询和子查询

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

department_name

Select st_name,d.department_id,d.department_name

From employees e,departments d

Where e.department_id=d.department_id;

b)写一个查询显示所有有佣金(commission_pcct不为空)的雇员的

last_name、department_name、location_ID 和城市。

Select st_name,d.department_name,d.location_id,l.city

From employees e,departments d,locations l

Where e.department_id=d.department_id and d.location_id=l.location_id

And mission_pct is not null;

c)写一个查询显示那些工作在Toronto(城市名) 的所有雇员的

last_name、job_title、department_id 和department_name。

Select st_name,j.job_title,d.department_id,d.department_name

From employees e,departments d,locations l,jobs j

Where e.department_id=d.department_id and d.location_id=l.location_id

相关文档
最新文档