-> (SELECT country_id FROM country WHERE country <> 'India');
ERROR 1242 (21000): Subquery returns more than 1 row
여기서 서브쿼리를 단독으로 실행하면 다음과 같이 결과가 표시됩니다.
mysql> SELECT country_id FROM country WHERE country <> 'India';
+------------+
| country_id |
+------------+
| 1 |
| 2 |
| 3 |
| 4 |
...
| 106 |
| 107 |
| 108 |
| 109 |
+------------+
108 rows in set (0.00 sec)
표현식(
country
_
id
)과 표현식 집합(
country
_
id
인
1
,
2
,
3
, ...,
109
)이 동일하지 않으므로
포함 쿼리는 실패합니다. 하나의 값과 값들의 집합은 서로 같지 않기 때문입니다. 다음 절에서
는 다른 연산자를 사용해서 문제를 해결하는 방법을 살펴봅니다.
9.3.1
단일 열을 가진 다중 행을 반환하는서브쿼리
서브쿼리가 두 개 이상의 행을 반환할 경우, 이전 예제에서 설명한 것처럼 동등조건을 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.