반응형
Notice
Recent Posts
Recent Comments
Link
개발은 처음이라 개발새발
서브쿼리 간단정리 본문
반응형
서브쿼리는 SELECT , FROM ,WHERE 절까지 곳곳에서 많이 사용합니다. 저는 개인적으로 실무를 하면서 서브쿼리를 자주 사용하는데요. 이유는 여러가지가 있겠지만 대표적인 이유로는 특정 테이블의 하나의 조건 혹은 하나의 컬럼만 필요한데 굳이 JOIN을 하게 되면 여러모로 불편한 점이 생기기 때문입니다.
1. SELECT절에 사용하는 서브쿼리
- SELECT절에서 사용하는 서브쿼리를 스칼라 쿼리라고 하는데요. SELECT 절에서 사용하는 서브쿼리의 특징으로는 불러오는 값을 하나만 지정해야 한다는 점입니다. SELECT절 서브쿼리는 나중에 따로 더 다뤄보도록하겠습니다.
2. FROM절에 사용하는 서브쿼리
https://data-so-hard.tistory.com/78
FROM절에서 활용하는 서브쿼리는 지난 시간 퀴즈를 통해 먼저 맛보기를 해봤는데요. FROM 이후 사용하는 서브쿼리는 테이블 역할을 한다는 것을 반드시 알아둬야 합니다. 그리고 FROM절에 사용하는 서브쿼리는 꼭 별칭 AS를 지정해줘야 합니다.
예시
SELECT mini.min_id
FROM (SELECT email, min(id) AS min_id
FROM Person
GROUP BY email) AS mini ---- 꼭 별칭을 써줘야 한다.
3.WHERE절에 사용하는 서브쿼리
https://data-so-hard.tistory.com/59
where 절에 사용하는 서브쿼리는 두가지가 있습니다. 조건값이 하나인 것과 여러개 값이 나오는 것입니다. 여러개의 값을 표기하기 위해서는 = 대신 IN을 활용하면 됩니다.
1. 결과값이 하나
SELECT *
FROM crimees
WHERE date = (SELECT MAX(date) FROM crimes)
2. 결과값이 여러개
SELECT *
FROM crimees
WHERE date IN (SELECT date FROM crimes ORDER BY date LIMT 5)
반응형
'mysql' 카테고리의 다른 글
JOIN 서브쿼리 퀴즈[LeetCode] (0) | 2023.06.07 |
---|---|
Top Earners 서브쿼리 퀴즈 [해커랭크] (1) | 2023.06.06 |
서브쿼리를 활용한 DELETE [LeetCode] (0) | 2023.05.30 |
UPDATE 와 CASE를 활용한 퀴즈[LeetCode] (0) | 2023.05.29 |
INSERT, UPDATE, DELETE 간단 정리 (0) | 2023.05.27 |