编写SQL语句创建员工数据表emp(empno,ename,age,sal,tel,deptno), 数据表emp的字段对应员工编号、姓名、出生年月、工资、电话号码、部门编号,格式为: empno char(8) ,ename char(50), age date, sal decimal(10,2),tel char(11),deptno char(2)
时间: 2024-04-17 17:26:55 浏览: 23
你可以使用以下SQL语句创建员工数据表emp:
```sql
CREATE TABLE emp (
empno char(8),
ename char(50),
age date,
sal decimal(10,2),
tel char(11),
deptno char(2)
);
```
这将创建一个名为emp的数据表,其中包含empno、ename、age、sal、tel和deptno字段,它们的数据类型和长度符合你的要求。
相关问题
查询emp(empno,ename,job,deptno,sal)表中比30部门任一员工工资高的员工的编号,姓名和工资。用Oracle实现
可以使用以下SQL语句查询emp表中比30部门任一员工工资高的员工的编号、姓名和工资:
```
SELECT empno, ename, sal
FROM emp
WHERE sal > (SELECT MAX(sal) FROM emp WHERE deptno = 30);
```
解释一下这个查询语句:
首先,`SELECT MAX(sal) FROM emp WHERE deptno = 30` 查询出部门编号为30的员工中工资最高的员工的薪资。
然后,`SELECT empno, ename, sal FROM emp WHERE sal >` 对emp表进行查询,只选择那些工资高于上面查询出来的薪资的雇员。这样就能得到比30部门任一员工工资高的员工的编号、姓名和工资了。
最终的查询结果就是比30部门任一员工工资高的员工的编号、姓名和工资。
创建表emp,并插入 EMPNO、ENAME、JOB、MGR、HIREDATE、SAL、COMM 和 DEPTNO这些列
好的,以下是创建表emp并插入数据的SQL语句:
```
CREATE TABLE emp (
EMPNO NUMBER(4) PRIMARY KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
);
INSERT INTO emp VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('1980-12-17', 'YYYY-MM-DD'), 800, NULL, 20);
INSERT INTO emp VALUES (7499, 'ALLEN', 'SALESMAN', 7698, TO_DATE('1981-02-20', 'YYYY-MM-DD'), 1600, 300, 30);
INSERT INTO emp VALUES (7521, 'WARD', 'SALESMAN', 7698, TO_DATE('1981-02-22', 'YYYY-MM-DD'), 1250, 500, 30);
INSERT INTO emp VALUES (7566, 'JONES', 'MANAGER', 7839, TO_DATE('1981-04-02', 'YYYY-MM-DD'), 2975, NULL, 20);
INSERT INTO emp VALUES (7654, 'MARTIN', 'SALESMAN', 7698, TO_DATE('1981-09-28', 'YYYY-MM-DD'), 1250, 1400, 30);
INSERT INTO emp VALUES (7698, 'BLAKE', 'MANAGER', 7839, TO_DATE('1981-05-01', 'YYYY-MM-DD'), 2850, NULL, 30);
INSERT INTO emp VALUES (7782, 'CLARK', 'MANAGER', 7839, TO_DATE('1981-06-09', 'YYYY-MM-DD'), 2450, NULL, 10);
INSERT INTO emp VALUES (7788, 'SCOTT', 'ANALYST', 7566, TO_DATE('1982-12-09', 'YYYY-MM-DD'), 3000, NULL, 20);
INSERT INTO emp VALUES (7839, 'KING', 'PRESIDENT', NULL, TO_DATE('1981-11-17', 'YYYY-MM-DD'), 5000, NULL, 10);
INSERT INTO emp VALUES (7844, 'TURNER', 'SALESMAN', 7698, TO_DATE('1981-09-08', 'YYYY-MM-DD'), 1500, 0, 30);
INSERT INTO emp VALUES (7876, 'ADAMS', 'CLERK', 7788, TO_DATE('1983-01-12', 'YYYY-MM-DD'), 1100, NULL, 20);
INSERT INTO emp VALUES (7900, 'JAMES', 'CLERK', 7698, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 950, NULL, 30);
INSERT INTO emp VALUES (7902, 'FORD', 'ANALYST', 7566, TO_DATE('1981-12-03', 'YYYY-MM-DD'), 3000, NULL, 20);
INSERT INTO emp VALUES (7934, 'MILLER', 'CLERK', 7782, TO_DATE('1982-01-23', 'YYYY-MM-DD'), 1300, NULL, 10);
```
这个SQL语句会先创建一个名为emp的表,包含EMPNO、ENAME、JOB、MGR、HIREDATE、SAL、COMM和DEPTNO这些列,并将EMPNO列设为主键。然后,通过INSERT INTO语句向表中插入了一些数据。