Front/JS & jQuery
[DB][MySQL] JSON_OVERLAPS()
오선지♬
2025. 10. 28. 09:03
728x90
반응형
✅ JSON_OVERLAPS() — JSON 배열끼리 겹치는 값이 있는지 비교
📌 용도
JSON 배열끼리 공통되는 요소가 있으면 TRUE
겹치는 값이 하나도 없으면 FALSE.
예)
- 제품 태그 id = [1,3]
- 검색 조건 태그 id = [3,5]
→ 3이 겹치므로 매칭됨.
📌 예제 테이블
product(product_id, tags)
-- tags → {"items":[{"id":"1"},{"id":"3"}]}
📌 JSON_OVERLAPS 사용 예
SELECT *
FROM product p
WHERE JSON_OVERLAPS(
JSON_EXTRACT(p.tags, '$.items[*].id'),
JSON_ARRAY('3', '5')
);
👉 동작 원리
- JSON_EXTRACT(p.tags, '$.items[*].id') → ["1", "3"]
- JSON_ARRAY('3','5') → ["3","5"]
겹침 → TRUE → 해당 row 반환
📌 한줄 요약
👉 JSON 배열과 조건 배열이 하나라도 겹치면 참
728x90
반응형