建sql练习题库
来源:互联网 发布:艾默生环境优化官网 编辑:程序博客网 时间:2024/04/27 20:50
CREATE TABLE emp--(员工信息表)
(
empno NUMBER(10),--员工编号
ename VARCHAR2(50),--员工姓名
job VARCHAR2(50),--职业
mgr NUMBER(10),--员工上级编号
hirdate DATE,--入职时间
sal NUMBER,--薪水
comm NUMBER,--奖金
deptno NUMBER(10)--员工部门编号
)
CREATE TABLE dept --(部门信息表)、
(
deptno NUMBER(10),--部门编号
dname VARCHAR2(50),--部门名称
loc VARCHAR2(500)--部门地址
)
CREATE TABLE salgrade--(薪水等级表)
(
grade NUMBER(2),--等级编号
losal NUMBER,--金额下限
hisal NUMBER--金额上限
)
DECLARE
i NUMBER:=1;
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE emp';
FOR i IN 1..100
LOOP
INSERT INTO emp VALUES (i,initcap(DBMS_RANDOM.string ('L', 5)||' '||DBMS_RANDOM.string ('L', 5)),
decode(mod(i,5),1,'项目经理',2,'工程师','实习生'),1,sysdate-DBMS_RANDOM.VALUE (1, 100),
round(100+DBMS_RANDOM.VALUE (1, 1000),2),
round(case when 100+DBMS_RANDOM.VALUE (1, 1000)<200 then null
when 100+DBMS_RANDOM.VALUE (1, 1000)<300 THEN 0
else 100+DBMS_RANDOM.VALUE (1, 1000) END,2),
mod(i,5));
END LOOP;
COMMIT;
END;
INSERT INTO dept
SELECT 1,'工程部','成都' FROM dual UNION ALL
SELECT 2,'客服部','成都' FROM dual UNION ALL
SELECT 3,'质检部','成都' FROM dual UNION ALL
SELECT 4,'清洁部','成都' FROM dual UNION ALL
SELECT 5,'总部','成都' FROM dual
COMMIT;
1. 查询部门为工程部的奖金大于0的所有员工信息
2. 查询员工数多余5个的部门
3. 查询每个部门薪水+奖金最高的5个人的信息
- 建sql练习题库
- 蓝桥杯题库算法练习
- CTF 题目练习题库
- oracle题库sql案例
- 个人练习题库(个人保存)
- 蓝桥杯 题库 基础练习 字母图形
- 题库
- 题库
- 题库
- 题库
- 题库
- 题库
- 题库
- 题库
- sql练习
- SQL练习
- sql练习
- sql练习
- 【11GR2 RAC】如何开启归档和FLASHBACK
- SQL的超大总结 费了不少时间希望能和大家共享
- 寻址方式
- 移动开发之我见
- Writing Network Device Drivers for Linux
- 建sql练习题库
- Reliability and Flow Control
- js 数组相减
- matlab 中for循环的使用
- PO/VO/DAO/BO/POJO是什么(JAVA 的解释)
- Android Layout 布局
- 【QT】——在tableview中显示sqlite数据库表中的内容
- Hash
- ZOJ3369 Saving Princess,DP