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

相關文章
相關標籤/搜索