[스파르타코딩클럽]데이터분석 과정/SQL
[SQL 코드카타] 121 ~ 123번(LeetCode)
doo_
2024. 1. 30. 09:51
121번 patients-with-a-condition
SELECT
patient_id, patient_name, conditions
FROM
Patients
WHERE
conditions like '% DIAB1%'
OR conditions like 'DIAB1%'
> 정규표현식으로 표현해보기
- \b는 단어 경계를 의미하는데, SQL에서 \는 이스케이프 문자로 표현되어 \\를 두번 입력한 것
SELECT
patient_id, patient_name, conditions
FROM
Patients
WHERE
conditions regexp '\\bDIAB1'
DELETE
p1
FROM
person p1
join person p2
on p1.email = p2.email
WHERE
p1.id > p2.id;
SELECT
max(emp.salary) AS SecondHighestSalary
FROM (
SELECT
ID,
salary,
DENSE_RANK() OVER(ORDER BY salary DESC) AS rn
FROM
Employee) emp
WHERE rn = 2
> 다른 답안
SELECT
MAX(salary) SecondHighestSalary
FROM Employee
WHERE salary < (SELECT MAX(salary) FROM Employee);
> FROM절이 없는 SELECT문 .?
SELECT
(SELECT DISTINCT salary
FROM Employee
ORDER BY salary DESC
LIMIT 1 OFFSET 1) AS SecondHighestSalary;