牛客题霸-SQL篇——1~10题(1)https://developer.aliyun.com/article/1415646
+ SQ5:查找所有员工的last_name和first_name以及对应部门编号dept_no
描述
有一个员工表,employees简况如下:
有一个部门表,dept_emp简况如下:
建表语句如下:
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`)); 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`));
请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,也包括暂时没有分配具体部门的员工,以上例子如下:
示例代码
SELECT last_name, first_name, dept_no FROM employees e LEFT JOIN dept_emp d ON e.emp_no=d.emp_no;
+ SQ7:查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t
描述
有一个薪水表,salaries简况如下:
建表语句如下:
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`));
请你查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t,以上例子输出如下:
示例代码
select emp_no ,COUNT(emp_no) t from salaries group by emp_no having t > 15
+ SQ8:找出所有员工当前薪水salary情况描述
描述
有一个薪水表,salaries简况如下:
建表语句如下:
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`));
请你找出所有员工具体的薪水salary情况,对于相同的薪水只显示一次,并按照逆序显示,以上例子输出如下:
示例代码
select distinct salary from salaries order by salary desc
牛客题霸-SQL篇——1~10题(3)https://developer.aliyun.com/article/1415676?spm=a2c6h.13148508.setting.26.6e1a4f0eQzpjQW