数据库练习题

本文提供了一组SQL练习题,包括创建部门和员工表,录入数据,并进行一系列查询操作:查看员工姓名与部门号,统计部门平均工资,查询领导姓名,按工资分级,筛选特定条件员工等,旨在提升SQL操作和分析能力。
摘要由CSDN通过智能技术生成

 

 

一、建立部门表和员工表并录入数据:

1.dept部门表结构如下:

(1)提示:部门号,部门名,地址)

(2)要求DEPTNO为主键,DNAME取值唯一;

名称              是否为空?  类型

DEPTNO             NOT NULL  NUMBER(2) 

DNAME                        VARCHAR2(14)

LOC                          VARCHAR2(13)

记录值如下:

 DEPTNO DNAME          LOC

------- -------------- --------

     10 ACCOUNTING     NEW YORK

     20 RESEARCH       DALLAS

     30 SALES          CHICAGO

     40 OPERATIONS     BOSTON

2.emp员工表结构如下:

(1)提示:员工号,员工名,工作职位,上级领导,出生日期,工资,所属部门号)

(2)要求:EMPNO为主键,JOB默认值为‘MANAGER’,SAL约束取值高于700,DEPTNO为外键和DEPT表关联;

名称              是否为空?  类型

 EMPNO           NOT NULL NUMBER(4)

 ENAME           VARCHAR2(10)

 JOB             VARCHAR2(9)

 MGR             NUMBER(4)

 HIREDATE        DATE

 SAL             NUMBER(7,2)

 COMM           NUMBER(7,2)

 DEPTNO          NUMBER(2)

 删除字段COMM

表记录如下:

 EMPNO  ENAME  JOB      MGR    HIREDATE    SAL    DEPTNO

 7369  SMITH   CLERK    7902   17-12月-80   800     20

 7499  ALLEN  SALESMAN  7698   20-2月 -81  1600     30

 7521  WARD   SALESMAN  7698   22-2月 -81  1250     30

 7566  JONES   MANAGER  7839   02-4月 -81  2975     20

 7782  CLARK   MANAGER  7839   09-6月 -81  2450     10

 7698  BLAKE   MANAGER  7839   01-5月 -81  2850     30

 7902  FORD    ANALYST  7566   03-12月-81  3000     20

 7934  MILLER  CLERK    7782   23-1月 -82  1300     40

 

三、用SQL语言实现下列操作:

1.查看员工的姓名和员工部门号

2.每个员工所在的部门和部门所在的地区。

3.统计各部门工资的平均值;

4.查询SMITH上级领导的姓名;

5.查询工资高于JONES的所有员工的姓名和工资;

6.按员工的工资划分等级,工资高于2500的为A等,

在1500和2500间(包括1500及2500)为B等,

其余为C等(提示:增加新列DJ);

7.查询和ALLEN不在同一部门的员工姓名和所在部门名称;

8.用UNION查询工资高于1500并且在30号部门工作的员工号,员工名,工资;

9.按照员工的部门号升序排列,同部门的再按员工工资降序排列;

10.查工资不超过2000的员工所有信息。

11.查出哪些员工的工资比平均工资低。

12.查出哪个部门的工资是最低的。


--会员店综合购物系统(商品销售模块)
create table customer
(customerID number primary key,
customer_name varchar2(50) not null,
password varchar2(20) not null,
customer_add varchar2(50) not null,
customer_bir date not null,
customer_tele varchar2(50) not null
);
--顾客id,顾客姓名,顾客地址,顾客生日,顾
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值