1.sql语句:
select * from employees order by hire_date desc limit 2,1;
解释:由hire_date进行排序,降序desc,最大的就是最晚进来的员工,limit 如果是只有一个参数的话,那么说明是除了前面多少个数据,
如果后面有两个参数的话,那么就是说第一个参数就是从这开始取数据,后面的第二个参数就是去除多少个数据,比如limit 2,1 就是从第三个员工开始,取出1个数据出来就可以了。
2.查找各个部门当前(to_date='9999-01-01')领导当前薪水详情以及其对应部门编号dept_no
select s.* ,d.dept_no from salaries s ,dept_manager d where s.to_date='9999-01-01' and
s.emp_no=d.emp_no and d.to_date='9999-01-01';
解释:s.*是取到当前表的所有数据,d.dept_no是取到表的具体某个字段信息,以及满足两个表的日期都是相同的
select s.* ,d.dept_no from salaries s inner join dept_manager d on
s.emp_no=d.emp_no where s.to_date='9999-01-01' and d.to_date='9999-01-01';
3.查找所有已经分配部门的员工的last_name和first_name
select e.last_name,e.first_name,d.dept_no from dept_emp d,employees e
where e.emp_no=d.emp_no;
如果呢,要查询没有分配部分的员工,怎么查询呢,left join 左外关联,以员工表为基准,包括没有分配部门的都会显示出来,以哪个表为左外关联的对象都会显示出全部的信息(当前该表left join左边)
select e.last_name,e.first_name,d.dept_no from employees e
left join dept_emp d on d.emp_no =e.emp_no;
4.逻辑结构有线性和非线性两大类,线性结构有线性表,队列,栈,串等,非线性结构有树(二叉树,哈夫曼树,二叉排序树等)和图(有向图,无向图)
存储结构有顺序存储和链式存储。
顺序存储方便查找,适合静态,链表方便增删,适合动态。