반응형
여러 행을 반환하는 하나의 쿼리와 해당 여러 행의 값 중 하나가되도록 기준을 설정하려는 다른 쿼리가 있으므로 기본적으로 하위 쿼리가 다음과 같이 보이기를 원합니다.
select *
from table
where id= (multiple row query);
여기서 다중 행 쿼리
는 여러 행을 반환합니다. 따라서 해당 행의 값이 1,2,3이면 id를 1 또는 2 또는 3으로 설정하고 싶습니다.
해결 방법
=
는 하위 쿼리가 하나의 값만 반환 할 때 사용할 수 있습니다.
하위 쿼리가 둘 이상의 값을 반환하는 경우 IN
을 사용해야합니다.
select *
from table
where id IN (multiple row query);
예를 들면 :
SELECT *
FROM Students
WHERE Marks = (SELECT MAX(Marks) FROM Students) --Subquery returns only 1 value
SELECT *
FROM Students
WHERE Marks IN
(SELECT Marks
FROM Students
ORDER BY Marks DESC
LIMIT 10) --Subquery returns 10 values
참조 페이지 https://stackoverflow.com/questions/28171474
반응형
'MySql' 카테고리의 다른 글
MySQL : SELECT WHERE AND / OR에 대한 질문 (0) | 2020.11.25 |
---|---|
MySQL How can we differ LEFT OUTER JOIN vs Left Join (0) | 2020.11.25 |
MySQL은 id가 주어진 숫자보다 큰 모든 행을 삭제합니다. (0) | 2020.11.24 |
MySQL rs.Fields (0)은 무엇을 의미합니까? (ADODB) VBA (0) | 2020.11.24 |
MySQL 고유 값의 수를 얻기 위해 MySQL 쿼리? (0) | 2020.11.24 |
댓글