您的位置:首页 > 数据库 > MySQL

mysql 练习02

2016-12-07 18:02 375 查看
 

CREATE TABLE DEPT(
DEPTNO int  PRIMARY KEY,
DNAME VARCHAR(14) , 
LOC VARCHAR(13) 
) ;

INSERT INTO DEPT VALUES(10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES(30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES(40,'OPERATIONS','BOSTON');

DROP TABLE EMP;

--员工表

CREATE TABLE EMP(
EMPNO int  PRIMARY KEY, --员工编号
ENAME VARCHAR(10), ---员工姓名
JOB VARCHAR(9), --员工工作
MGR int, ----员工直属领导编号
HIREDATE DATE, ----入职时间
SAL double, ---工资
COMM double, --奖金
DEPTNO int  REFERENCES DEPT);  --关联dept表

CREATE TABLE EMP(
EMPNO int  PRIMARY KEY,
ENAME VARCHAR(10),
JOB VARCHAR(9),
MGR int, 
HIREDATE DATE, 
SAL double,
COMM double,
DEPTNO int ,
foreign key EMP(DEPTNO) REFERENCES DEPT(DEPTNO)
);  

INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902,"1980-12-17",800,NULL,20);

INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);

INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);

INSERT INTO EMP VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);

INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);

INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);

INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10);

INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566,'1987-07-03',3000,NULL,20);

INSERT INTO EMP VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);

INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);

INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788,'1987-07-13',1100,NULL,20);

INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);

INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);

INSERT INTO EMP VALUES(7934,'MILLER','CLERK',7782,'1981-01-23',1300,NULL,10);

DROP TABLE SALGRADE;

//工资等级表

CREATE TABLE SALGRADE( 
GRADE int,--等级
LOSAL double, --最低工资
HISAL double ); --最高工次

CREATE TABLE SALGRADE( 
GRADE int,
LOSAL double, 
HISAL double );

INSERT INTO SALGRADE VALUES (1,700,1200);

INSERT INTO SALGRADE VALUES (2,1201,1400);

INSERT INTO SALGRADE VALUES (3,1401,2000);

INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);

select deptnum,sum(sal) where  emp group by depnum      //分组必须有两个列,其中一个是具有相同值的一组,另外一个是聚合函数(一组数列的和,平均值等结果)

select deptno,sum(sal) from emp group by deptno having sum(sal)>9000;  having条件判断聚合函数结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: