mysql求入职日期相同(年月日相同)的员工(自己链接自己,要求入职日期相同的员工显示在一行)多表连接
时间: 2023-03-28 19:03:51 浏览: 245
可以使用以下 SQL 语句实现:
SELECT e1.emp_no, e1.hire_date, e2.emp_no, e2.hire_date
FROM employees e1, employees e2
WHERE e1.hire_date = e2.hire_date AND e1.emp_no < e2.emp_no;
这个查询会返回两个员工的编号和入职日期,这两个员工的入职日期相同。其中,e1 和 e2 是同一个表的别名,分别表示两个员工。使用 WHERE 子句过滤出入职日期相同的员工,并使用 e1.emp_no < e2.emp_no 来避免重复的结果。
相关问题
mysql查询工资相同的员工的工资和姓名(要求工资相同的员工显示在一行)多表连接
可以使用以下 SQL 语句查询工资相同的员工的工资和姓名:
SELECT a.姓名, a.工资, b.姓名, b.工资
FROM 员工表 a, 员工表 b
WHERE a.工资 = b.工资 AND a.姓名 < b.姓名;
其中,员工表是指存储员工信息的表,包括姓名和工资等字段。使用多表连接,将同一表中工资相同的员工连接在一起,并使用 WHERE 子句筛选出工资相同的员工。最后使用 SELECT 子句将员工的姓名和工资显示出来。注意,为了避免重复,使用 a.姓名 < b.姓名 来限制只显示一次相同工资的员工。
mysql查询工资相同的员工的工资和姓名(要求工资相同的员工显示在一行)
可以使用以下 SQL 语句查询工资相同的员工的工资和姓名:
SELECT salary, GROUP_CONCAT(name) AS names
FROM employees
GROUP BY salary
HAVING COUNT(*) > 1;
其中,employees 是员工表,包含 name 和 salary 两个字段。GROUP_CONCAT 函数可以将工资相同的员工姓名合并为一行显示。HAVING 子句用于筛选出工资相同的员工,COUNT(*) > 1 表示至少有两个员工的工资相同。