SQL/LEETCODE
[1527] Patients With a Condition
소금깨
2022. 7. 14. 23:51
Patients With a Condition - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
Table: Patients
+--------------+---------+
| Column Name | Type |
+--------------+---------+
| patient_id | int |
| patient_name | varchar |
| conditions | varchar |
+--------------+---------+
patient_id is the primary key for this table.
'conditions' contains 0 or more code separated by spaces.
This table contains information of the patients in the hospital.
Write an SQL query to report the patient_id, patient_name all conditions of patients who have Type I Diabetes. Type I Diabetes always starts with DIAB1 prefix
Return the result table in any order.
The query result format is in the following example.
Example 1:
Input:
Patients table:
+------------+--------------+--------------+
| patient_id | patient_name | conditions |
+------------+--------------+--------------+
| 1 | Daniel | YFEV COUGH |
| 2 | Alice | |
| 3 | Bob | DIAB100 MYOP |
| 4 | George | ACNE DIAB100 |
| 5 | Alain | DIAB201 |
+------------+--------------+--------------+
Output:
+------------+--------------+--------------+
| patient_id | patient_name | conditions |
+------------+--------------+--------------+
| 3 | Bob | DIAB100 MYOP |
| 4 | George | ACNE DIAB100 |
+------------+--------------+--------------+
Explanation: Bob and George both have a condition that starts with DIAB1.
문제 조건
1형 당뇨(Diabetes)를 앓고있는 환자의 모든 정보를 출력하시오
1형 당뇨는 DIAB1로 시작된다
풀이 과정
REGEXP할 때는 공백도 꼭 표기해주기 (공백 때문에 wrong이 계속 뜸)
# REGEXP
select *
from patients
where conditions REGEXP '^DIAB1|\s*DIAB1' --\s는 공백을 표현
# LIKE
select *
from patients
where conditions like 'DIAB1%'
OR conditions like '% DIAB1%'