>  기사  >  데이터 베이스  >  MySQL에서 JSON 배열을 쿼리하는 방법: JSON_TABLE()을 사용하여 JSON 배열에서 특정 값을 검색할 수 있습니까?

MySQL에서 JSON 배열을 쿼리하는 방법: JSON_TABLE()을 사용하여 JSON 배열에서 특정 값을 검색할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-30 00:16:03180검색

How to Query JSON Arrays in MySQL: Can JSON_TABLE() be used to retrieve specific values from a JSON array?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.