SQL 如何获取A列相同但是B列不同的数据项

用户表里有两个字段:部门和职位。一个部门可能对应多个职位,多个部门也可能都有同一职位。比如:

部门 职位

财务 部长

财务 副部长

财务 会计

财务 职员

编辑 部长

编辑 副部长

编辑 主编

编辑 副主编

现在想通过筛选,获取职位名称相同,但是部门不同的数据。在本例中即为:

部门 职位

财务 部长

编辑 部长

财务 副部长

编辑 副部长

请问这样的语句应该怎么写?

利用exists 子查询即可

sql 复制代码
select * from 用户表 a where exists (select 1 from 用户表 where 职位=a.职位 and 部门!=a.部门)
相关推荐
爱学习的小可爱卢14 分钟前
数据库MySQL——MySQL 可重复读隔离级别:Read View 底层原理与幻读问题深度剖析(面试必知)
数据库·mysql
lifewange1 小时前
数据库索引里面的游标是什么?
数据库·oracle
PhDTool1 小时前
计算机化系统验证(CSV)的前世今生
数据库·安全·全文检索
banpu1 小时前
Spring相关
数据库·spring·sqlserver
老年DBA1 小时前
Ora2Pg 迁移Oracle至 PostgreSQL 之实战指南
数据库·postgresql·oracle
我是苏苏1 小时前
MSSQL04: SQLserver的用户权限管理
数据库
l1t1 小时前
达梦数据库和Oracle兼容性和性能比较
数据库·sql·oracle·达梦
lkbhua莱克瓦242 小时前
基础-事务
开发语言·数据库·笔记·mysql·事务
weixin_436525072 小时前
NestJS-TypeORM QueryBuilder 常用 SQL 写法
java·数据库·sql
Cosolar2 小时前
MySQL EXPLAIN 执行计划分析:能否查看 JOIN 关联顺序
数据库·后端·mysql