집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 중첩된 JSON 배열에서 \'Knight\'의 강도 값을 쿼리하는 방법은 무엇입니까?
키로 중첩된 JSON 배열 쿼리
MySQL에서는 JSON_TABLE 조합을 사용하여 중첩된 JSON 배열에서 특정 값을 검색할 수 있습니다. () 함수와 WHERE 절.
다음 JSON 배열을 고려하세요.
<code class="json">[ {"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7} ]</code>
기사의 힘을 검색하려면 다음 쿼리를 사용할 수 있습니다.
<code class="sql">SELECT j.strength FROM mytable, JSON_TABLE(mycol, '$[*]' COLUMNS ( race VARCHAR(10) PATH '$.Race', strength INT PATH '$.strength' )) AS j WHERE j.race = 'Knight'</code>
이 쿼리는 JSON_TABLE() 함수를 사용하여 JSON 배열에서 각 속성에 대한 열이 포함된 가상 테이블을 생성합니다. 그런 다음 WHERE 절을 사용하여 "Race" 속성을 기준으로 결과를 필터링합니다.
장점 및 제한 사항
JSON_TABLE()을 사용하면 다음과 같은 여러 가지 이점을 얻을 수 있습니다.
그러나 또한 몇 가지 제한 사항이 있습니다.
대체 접근 방식
데이터 구조를 알 수 없거나 자주 변경되는 경우 대체 접근 방식은 JSON_SEARCH() 함수를 사용하는 것입니다. 원하는 값에 대한 경로를 찾은 다음 경로 연산자를 사용하여 값을 추출합니다. 하지만 이 방법은 JSON_TABLE()만큼 쉽게 선택하거나 투영할 수 없습니다.
위 내용은 MySQL의 중첩된 JSON 배열에서 \'Knight\'의 강도 값을 쿼리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!