MySQL에서 JSON 배열 쿼리: JSON_TABLE()을 사용한 솔루션
JSON_SEARCH와 같은 SQL 함수를 사용하여 JSON 배열에서 특정 값을 검색할 수 있습니다. 그러나 이는 원하는 노드에 대한 경로만 제공합니다. 경로 검색과 실제 값 검색을 결합하려면 JSON_TABLE() 함수를 활용할 수 있습니다.
JSON_TABLE()은 JSON 문서를 가상 테이블로 변환하여 해당 요소에 WHERE 및 SELECT와 같은 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'
이 쿼리는 기사 종족의 강도 값을 반환합니다. 그러나 속성 이름과 해당 경로를 명시적으로 정의해야 하며, 이는 데이터 구조가 동적이거나 정의되지 않은 경우에는 가능하지 않을 수 있습니다.
JSON_TABLE()을 사용하려면 JSON 문서를 데이터가 큰 경우 성능에 영향을 미칠 수 있는 모든 쿼리에 대한 가상 테이블입니다. 또한 이 접근 방식을 사용하려면 검색하려는 속성 필드를 지정해야 하므로 완전히 정의되지 않은 데이터 구조에 대한 사용이 제한됩니다.
위 내용은 MySQL에서 JSON 배열을 쿼리하는 방법: JSON_TABLE()을 사용하여 JSON 배열에서 특정 값을 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!