每日两SQL(9),欢迎交流~
生活随笔
收集整理的這篇文章主要介紹了
每日两SQL(9),欢迎交流~
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
查找所有員工的last_name和first_name以及對(duì)應(yīng)的dept_name,也包括暫時(shí)沒有分配部門的員工
CREATE TABLE `departments` ( `dept_no` char(4) NOT NULL, `dept_name` varchar(40) NOT NULL, PRIMARY KEY (`dept_no`)); CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`dept_no`)); 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 e.last_name,e.first_name,x.dept_name from employees e left join (select d.emp_no,d.dept_no,de.dept_name from dept_emp d left join departments de on d.dept_no = de.dept_no) x on e.emp_no = x.emp_no【講真最初做的時(shí)候我有想著直接進(jìn)行三表的鏈接,意思就是這屆left join table1 left join table2 事實(shí)證明不行。并且當(dāng)你使用left join 鏈接子表的時(shí)候,如果子表的條件是使用? from? table1,table2 where? ?語(yǔ)法上也是不允許的!】
題目描述
查找員工編號(hào)emp_no為10001其自入職以來的薪水salary漲幅值growth
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 max(salary)-min(salary) growth from salaries where emp_no = 10001【當(dāng)然是一直漲薪,最大工資 - 最低工資】
總結(jié)
以上是生活随笔為你收集整理的每日两SQL(9),欢迎交流~的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日两SQL(8),欢迎交流~
- 下一篇: linux cmake编译源码,linu