[LeetCode/SQL] 182. Duplicate Emails

Sooyeon·2023년 11월 10일
0

문제풀이 

목록 보기
16/95
post-thumbnail

[LeetCode/SQL]


📌 182. Duplicate Emails

문제

풀이

- 모든 중복 email을 출력하기 

방법 I

SELECT Email
FROM person
GROUP BY email
HAVING COUNT(*)>=2

방법 II

묵시적 조인

  • 조건 1: id는 서로 다르다
  • 조건 2: email는 서로 같다.
SELECT DISTINCT (p1.email)
FROM person p1
    ,person p2
WHERE p1.id <> p2.id AND p1.email=p2.email

방법 III

명시적 조인 사용

SELECT DISTINCT(p1.email)
FROM person p1 
JOIN Person p2 
ON p1.email = p2.email 
AND p1.id <> p2.id;

기억하기

/*
묵시적 내부조인은 'JOIN'키워드 사용하지 않고,
'FROM' 절에 테이블 나열
조인 조건은 'WHERE'절에 기재 
*/

-- 묵시적 내부조인
SELECT *
FROM table1,table2 
WHERE table1.column1 = table2.column2;
-- 명시적 내부조인 
SELECT *
FROM table1
INNER JOIN table2 
ON table1.column1 = table2.column2;

=> 가독성이,코드 유지보수 측면에서
명시적 JOIN 구문을 사용 권장!

0개의 댓글