SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;


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

-- Table structure for dept

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

DROP TABLE IF EXISTS `dept`;

CREATE TABLE `dept`  (

  `DEPTNO` int(11) NOT NULL,

  `DNAME` varchar(14) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,

  `LOC` varchar(13) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,

  PRIMARY KEY (`DEPTNO`) USING BTREE

) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


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

-- Records of dept

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

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');


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

-- Table structure for emp

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

DROP TABLE IF EXISTS `emp`;

CREATE TABLE `emp`  (

  `EMPNO` int(11) NOT NULL,

  `ENAME` varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,

  `JOB` varchar(9) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,

  `MGR` int(11) DEFAULT NULL,

  `HIREDATE` date DEFAULT NULL,

  `SAL` double DEFAULT NULL,

  `COMM` double DEFAULT NULL,

  `DEPTNO` int(11) DEFAULT NULL,

  PRIMARY KEY (`EMPNO`) USING BTREE,

  INDEX `EMP`(`DEPTNO`) USING BTREE,

  CONSTRAINT `EMP` FOREIGN KEY (`DEPTNO`) REFERENCES `dept` (`DEPTNO`) ON DELETE RESTRICT ON UPDATE RESTRICT

) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


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

-- Records of emp

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

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', 750, 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', 1600, 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);



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

-- Table structure for salgrade

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

DROP TABLE IF EXISTS `salgrade`;

CREATE TABLE `salgrade`  (

  `GRADE` int(11) DEFAULT NULL,

  `LOSAL` double DEFAULT NULL,

  `HISAL` double DEFAULT NULL

) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;


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

-- Records of salgrade

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

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);




SET FOREIGN_KEY_CHECKS = 1;





#1、查找部门30中员工的详细信息。


#2、找出从事clerk工作的员工的编号、姓名、部门号。


#3、检索出奖金多于基本工资的员工信息。


#4、检索出奖金多于基本工资60%的员工信息。


#5、找出10部门的经理、20部门的职员 的员工信息。


#6、找出10部门的经理、20部门的职员 或者既不是经理也不是职员但是工资高于2000元的员工信息。


#7、找出获得奖金的员工的工作。


#8、找出奖金少于100或者没有获得奖金的员工的信息。


#9、找出姓名以A、B、S开始的员工信息。


#10、找到名字长度为6个字符的员工信息。

length


#11、名字中不包含R字符的员工信息。


#12、返回员工的详细信息并按姓名排序。


#13、返回员工的信息并按工作降序工资升序排列。


#14、计算员工的日薪(按30天)。



#1、返回拥有员工的部门名、部门号。


#2、工资水平多于smith的员工信息。


#4、返回雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名。


#5、返回员工姓名及其所在的部门名称。


#6、返回从事clerk工作的员工姓名和所在部门名称。


#7、返回部门号及其本部门的最低工资。


#8、返回销售部(sales)所有员工的姓名。


#9、返回工资水平多于平均工资的员工。


#10、返回与SCOTT从事相同工作的员工。


#11、返回与30部门员工工资水平相同的员工姓名与工资。


#12、返回工资高于30部门所有员工工资水平的员工信息。


#13、返回部门号、部门名、部门所在位置及其每个部门的员工总数。


#14、返回员工的姓名、所在部门名及其工资。


#15、返回员工的详细信息。(包括部门名)


#16、返回员工工作及其从事此工作的最低工资。


#17、计算出员工的年薪,并且以年薪排序。


#18、返回工资处于第四级别的员工的姓名。

between and


#19、返回工资为二等级的职员名字、部门所在地、和二等级的最低工资和最高工资


#20. 工资等级多于smith的员工信息。



左链接 : 显示左表所有内容及右表中连接字段相等的内容

右链接 : 显示右表所有内容及左表中连接字段相等的内容

内连接 : 显示二表中连接字段相等的记录



其他 

 case sex when 1 then '男' else '女' end as sex

 if(sex,1) ifnull(1,sex)

 

 

再其他:

  create database name;

  drop database name;

  use databasename;

  alter table table_name add i int ;

  alter table table_name drop i;

  insert into table_name(id,name) values(1,'haha')

  update table_name set id='2',name='h' where id = '1'

  delete from table_name where id = '1'

  

  insert into table_name select * from table_name2