mysql练习题及其余整理



SET NAMES utf8mb4;ide

SET FOREIGN_KEY_CHECKS = 0;排序


-- ----------------------------ci

-- Table structure for deptit

-- ----------------------------table

DROP TABLE IF EXISTS `dept`;class

CREATE TABLE `dept`  (date

  `DEPTNO` int(11) NOT NULL,select

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

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

  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;





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


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


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


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


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


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


#七、找出得到奖金的员工的工做。


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


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


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

length


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


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


#1三、返回员工的信息并按工做降序工资升序排列。


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



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


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


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


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


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


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


#八、返回销售部(sales)全部员工的姓名。


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


#十、返回与SCOTT从事相同工做的员工。


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


#十二、返回工资高于30部门全部员工工资水平的员工信息。


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


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


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


#1六、返回员工工做及其从事此工做的最低工资。


#1七、计算出员工的年薪,而且以年薪排序。


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

between and


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


#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

相关文章
相关标签/搜索