【发布时间】:2019-03-05 11:59:55
【问题描述】:
样本记录:
Custid pref_location
C1 PUNE
C1 MUMBAI
c1 DELHI
C2 PUNE
C2 MUMBAI
C3 MUMBAI
c4 PUNE
C5 DELHI
我想获取首选项位置仅为 PUNE 或 MUMBAI 的记录。我在以下查询的帮助下进行:
SELECT *
FROM EMP_PRE_LOCATION E1
WHERE EXISTS (SELECT 1
FROM EMP_PRE_LOCATION E2
WHERE E2.EID=E1.EID AND E2.PRE_LOCATION in ('PUNE','MUMBAI'))
AND NOT EXISTS (SELECT 1
FROM EMP_PRE_LOCATION E3
WHERE E3.EID=E1.EID AND E3.PRE_LOCATION NOT in('PUNE','MUMBAI'));
他们有更好的方法来达到同样的效果吗?
【问题讨论】:
标签: sql oracle performance