Table: Users
+-----------------+---------+
| Column Name | Type |
+-----------------+---------+
| user_id | int |
| email | varchar |
+-----------------+---------+
(user_id)는 이 테이블의 고유 키입니다.
테이블의 각 행은 사용자의 고유 ID와 이메일 주소를 포함합니다.
문제
유효한 이메일 주소를 모두 찾는 SQL 쿼리를 작성하세요.
유효한 이메일 주소는 다음 조건을 만족해야 합니다:
- 정확히 하나의 @ 기호가 포함되어야 합니다.
- .com으로 끝나야 합니다.
- @ 기호 앞부분은 알파벳, 숫자, 밑줄(_)만 포함할 수 있습니다.
- @ 기호와 .com 사이의 도메인 이름은 알파벳만 포함해야 합니다.
결과 테이블은 user_id 기준으로 오름차순 정렬하여 반환하세요.
Example:
Input:
Users table:
+---------+---------------------+
| user_id | email |
+---------+---------------------+
| 1 | alice@example.com |
| 2 | bob_at_example.com |
| 3 | charlie@example.net |
| 4 | david@domain.com |
| 5 | eve@invalid |
+---------+---------------------+
Output:
+---------+-------------------+
| user_id | email |
+---------+-------------------+
| 1 | alice@example.com |
| 4 | david@domain.com |
+---------+-------------------+
설명:
- alice@eaxample.com은 유효합니다. 이유는 하나의 @ 기호가 포함되어 있고, "alice"는 알파벳과 숫자로 이루어져 있으며, "example.com"은 알파벳으로 시작하고 .com으로 끝납니다.
- bob_at_example.com은 유효하지 않습니다. 이유는 @ 기호 대신 밑줄(_)이 포함되어 있기 때문입니다.
- charlie@example.net은 유효하지 않습니다. 이유는 도메인이 .com으로 끝나지 않기 때문입니다.
- david@domain.com은 유효합니다. 모든 조건을 만족하기 때문입니다.
- eve@invalid는 유효하지 않습니다. 이유는 도메인이 .com으로 끝나지 않기 때문입니다.
결과 테이블은 user_id 기준으로 오름차순 정렬됩니다.
✏️ 풀이
SELECT user_id, email
FROM Users
WHERE email REGEXP '[a-zA-Z0-9_]+@[a-zA-Z]+.com$'
ORDER BY user_id;
프로그래머스 문제를 다 풀어서 leetcode로 넘어왔는데 문제가 pandas랑 동일 한 것 같아
같은 문제로 pandas, sql, java 등등 여러 언어로 푸는 방식인 것 같아서 다른 사이트를 찾아보려고 한다
'[코딩테스트] > [SQL]' 카테고리의 다른 글
[StrataScratch - SQL] (Easy) Salaries Differences (0) | 2025.04.15 |
---|---|
[StrataScratch - SQL] (Easy) Finding Updated Records (0) | 2025.04.15 |
[LeetCode - SQL] (Easy) 3465. Find Products with Valid Serial Numbers (0) | 2025.04.14 |
[프로그래머스 Lv.5] 멸종위기의 대장균 찾기 (0) | 2025.04.11 |
[프로그래머스 Lv.5] 상품을 구매한 회원 비율 구하기 (0) | 2025.04.11 |