假设有一个包含雇员信息的表格,其中包含了雇员的雇佣日期(hiredate)和所在部门编号(deptno)。我们可以使用SQL语句来查找与deptno 10具有相同的首次和最后雇佣日期的部门编号,并计算年数。
首先,我们可以使用以下SQL语句来找到与deptno 10具有相同首次雇佣日期的部门编号:
SELECT deptno, hiredate
FROM employees
WHERE hiredate = (SELECT MIN(hiredate) FROM employees WHERE deptno = 10)
接下来,我们可以使用以下SQL语句来找到与deptno 10具有相同最后雇佣日期的部门编号:
SELECT deptno, hiredate
FROM employees
WHERE hiredate = (SELECT MAX(hiredate) FROM employees WHERE deptno = 10)
最后,我们可以将上述两个查询结果进行交集操作,以找到同时满足首次和最后雇佣日期相同的部门编号:
SELECT deptno
FROM employees
WHERE hiredate = (SELECT MIN(hiredate) FROM employees WHERE deptno = 10)
AND hiredate = (SELECT MAX(hiredate) FROM employees WHERE deptno = 10)
如果我们想要计算年数,可以使用DATEDIFF函数来计算两个日期之间的年数差异:
SELECT deptno, DATEDIFF(YEAR, MIN(hiredate), MAX(hiredate)) AS year_difference
FROM employees
WHERE hiredate = (SELECT MIN(hiredate) FROM employees WHERE deptno = 10)
AND hiredate = (SELECT MAX(hiredate) FROM employees WHERE deptno = 10)
GROUP BY deptno
注意,上述代码示例中的"employees"是雇员信息表格的名称,"hiredate"是雇佣日期的列名,"deptno"是部门编号的列名。