-
第一题
-
第二题
-
第三题
能力积分
设定内容居中、居左、居右
第一题
查找入职员工时间排名倒数第三的员工所有信息
CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT NULL,PRIMARY KEY (`emp_no`));
答题代码
SELECT * FROM employees WHEREhire_date = (SELECT DISTINCT hire_dateFROM employees ORDER BY hire_date DESCLIMIT 2, 1);
思路解答:
查找倒数第三入职的员工用order by倒序排序,limit m,n表示从第n+1条开始,取n条数据;
第二题
查看各个部门当前(to_data=9999-01-01)领导当前薪水详情以及对应部门的编号dept_no
CREATE TABLE `dept_manager` (`dept_no` char(4) NOT NULL,`emp_no` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`dept_no`));CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`from_date`));
答题代码
SELECT s.emp_no,s.salary,s.from_date,s.to_date,d.dept_noFROMdept_manager AS dJOINsalaries AS sONd.emp_no = s.emp_noWHEREs.to_date = '9999-01-01' AND d.to_date = '9999-01-01'ORDER BYd.emp_no ASC;
思路整理:由于输出顺序是按照emp_no递增来的,所以最后需要用ASC做升序操作,由于两个表都有重复数据,所以两个表的to_data都要做限制
第三题
查找最晚入职员工的所有信息
// An highlighted blockCREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT NULL,PRIMARY KEY (`emp_no`));
解题代码
// An highlighted blockSELECT * FROM employees where hire_data=(select max(hire_date) from employees)
代码解答查找最晚入职的员工可以用max函数来选择最晚入职的员工
-
能针对具体的情景马上有思路,熟悉常见的排序语法
-
简单的熟悉查询的语法,对于代码只能做到简单的理解
能力积分
一个简单的表格是这么创建的:
| 能力 | Value |
|---|---|
| 单表查询 | -1 |
| 多表查询 | -1 |
最后就不删markdown我觉得很有意思的语法吧
设定内容居中、居左、居右
使用:---------:居中 使用:----------居左 使用----------:居右
| 第一列 | 第二列 | 第三列 |
|---|---|---|
| 第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
从开始写这边文章到写完这篇文章一共花了一小时左右,对于现在自己的写作能力打50分吧,很多东西都掌握的不熟练;但是决定开始就不要轻易的放弃,如果自己都瞧不起自己,那又怎么获得别人的认可;最后,又想起了小丑的主题曲--把孤独当做晚餐我却难以入眠,孤独是我的必修课,不能坚持写下去的话,那就一直单着吧……………………