>데이터 베이스 >MySQL 튜토리얼 >MySQL JSON_TABLE()을 사용하여 키 값으로 특정 JSON 개체를 어떻게 찾을 수 있습니까?

MySQL JSON_TABLE()을 사용하여 키 값으로 특정 JSON 개체를 어떻게 찾을 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-02 11:38:30325검색

How Can I Find a Specific JSON Object by Key Value Using MySQL JSON_TABLE()?

MySQL JSON: 키 값으로 객체 찾기

MySQL에서 JSON 객체로 작업할 때 다음을 검색해야 하는 상황에 직면할 수 있습니다. 다른 객체의 키를 사용하여 JSON 데이터 내의 특정 객체. 적절한 기능이 없으면 이는 어려운 작업이 될 수 있습니다. 이 기사에서는 JSON_TABLE()을 사용하여 이를 수행하는 효율적인 방법에 대해 설명합니다.

JSON_TABLE()의 구문은 다음과 같습니다.

<code class="sql">JSON_TABLE(expression, path_expression COLUMNS *(expression_list))</code>

이 경우 원래 질문에 제공된 것과 유사한 JSON 구조에는 키-값 쌍을 포함하는 객체 배열이 있습니다. 다른 키를 검색하는 동안 한 키에서 지정된 값을 가진 객체를 검색하려고 합니다.

JSON_TABLE()을 사용하여 다음과 같이 쿼리를 작성할 수 있습니다.

<code class="sql">SELECT field_options.*
FROM fields
CROSS JOIN JSON_TABLE(options, '$[*]'
  COLUMNS(
    text TEXT PATH '$.text',
    value TEXT PATH '$.value'
  )
) field_options
WHERE field_options.value = 1;</code>

방법은 다음과 같습니다. 작동:

  • CROSS JOIN: 필드 테이블을 다음과 연결합니다. JSON_TABLE()을 사용하여 추출된 JSON 데이터.
  • JSON_TABLE(): 배열의 모든 객체를 나타내는 $[*] 경로 표현식을 사용하여 JSON 옵션 열에서 객체를 추출합니다.
  • COLUMNS(): 텍스트와 값을 포함하여 각 개체에서 추출할 열을 지정합니다. 값.
  • WHERE 절: field_options 테이블을 필터링하여 값이 '1'인 객체만 반환합니다.

결과는 다음을 포함하는 테이블이 됩니다. JSON 배열에서 일치하는 개체를 찾습니다.

그러나 JSON을 사용하는 것이 이러한 유형의 데이터에 대한 최적의 솔루션인지 고려해 볼 가치가 있습니다. 데이터가 정규화된 관계형 테이블 구조에서 더 효율적으로 표현될 수 있다면 JSON을 사용하지 않는 것이 바람직할 수 있습니다. 이를 통해 쿼리 및 유지 관리 작업을 단순화할 수 있습니다.

위 내용은 MySQL JSON_TABLE()을 사용하여 키 값으로 특정 JSON 개체를 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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